2011-04-27 Adam Barth <abarth@webkit.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-04-27  Adam Barth  <abarth@webkit.org>
2
3         Build fix from the future.  Another trival strict OwnPtr fixes.  This
4         is the last futuristic build fix I can detect with my time traveling
5         abilities.
6
7         * platform/graphics/chromium/TransparencyWin.cpp:
8         (WebCore::TransparencyWin::initializeNewContext):
9
10 2011-04-27  Dmitry Lomov  <dslomov@google.com>
11
12         Reviewed by David Levin.
13
14         CrossThreadCopier should not have a default specialization for raw pointers
15         https://bugs.webkit.org/show_bug.cgi?id=59234
16         Removed the ablity to pass raw pointers cross-thread
17         Added and applied annotations for doing that
18
19         * fileapi/FileReader.cpp:
20         (WebCore::FileReader::readInternal):
21         (WebCore::FileReader::abort):
22         * fileapi/FileStreamProxy.cpp:
23         (WebCore::FileStreamProxy::startOnFileThread):
24         (WebCore::FileStreamProxy::stopOnFileThread):
25         (WebCore::FileStreamProxy::getSize):
26         (WebCore::FileStreamProxy::getSizeOnFileThread):
27         (WebCore::FileStreamProxy::openForRead):
28         (WebCore::FileStreamProxy::openForReadOnFileThread):
29         (WebCore::FileStreamProxy::openForWrite):
30         (WebCore::FileStreamProxy::openForWriteOnFileThread):
31         (WebCore::FileStreamProxy::close):
32         (WebCore::FileStreamProxy::read):
33         (WebCore::FileStreamProxy::readOnFileThread):
34         (WebCore::FileStreamProxy::write):
35         (WebCore::FileStreamProxy::writeOnFileThread):
36         (WebCore::FileStreamProxy::truncate):
37         (WebCore::FileStreamProxy::truncateOnFileThread):
38         * loader/WorkerThreadableLoader.cpp:
39         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
40         (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
41         (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
42         * page/GeolocationPositionCache.cpp:
43         (WebCore::GeolocationPositionCache::triggerReadFromDatabase):
44         (WebCore::GeolocationPositionCache::triggerWriteToDatabase):
45         * platform/CrossThreadCopier.h:
46         (WebCore::AllowCrossThreadAccessWrapper::AllowCrossThreadAccessWrapper):
47         (WebCore::AllowCrossThreadAccessWrapper::value):
48         (WebCore::AllowCrossThreadAccess):
49         (WebCore::AllowExtendedLifetimeWrapper::AllowExtendedLifetimeWrapper):
50         (WebCore::AllowExtendedLifetimeWrapper::value):
51         (WebCore::AllowExtendedLifetime):
52         * platform/graphics/chromium/cc/CCCompletionEvent.h:
53         * storage/IDBObjectStoreBackendImpl.cpp:
54         (WebCore::IDBObjectStoreBackendImpl::get):
55         (WebCore::IDBObjectStoreBackendImpl::put):
56         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
57         (WebCore::IDBObjectStoreBackendImpl::clear):
58         (WebCore::IDBObjectStoreBackendImpl::createIndex):
59         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
60         (WebCore::IDBObjectStoreBackendImpl::openCursor):
61         * storage/SQLCallbackWrapper.h:
62         (WebCore::SQLCallbackWrapper::clear):
63         * websockets/WorkerThreadableWebSocketChannel.cpp:
64         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
65         (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
66         (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
67         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
68         (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
69         (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
70         (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
71         (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
72         (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
73         * workers/WorkerMessagingProxy.cpp:
74         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
75
76 2011-04-27  Adam Barth  <abarth@webkit.org>
77
78         Two build fixes from the future.  (Trivial strict OwnPtr fixes.)
79
80         * page/Frame.cpp:
81         (WebCore::Frame::setTiledBackingStoreEnabled):
82         * platform/audio/ReverbConvolver.cpp:
83         (WebCore::ReverbConvolver::ReverbConvolver):
84
85 2011-04-27  Adam Barth  <abarth@webkit.org>
86
87         Reviewed by David Levin.
88
89         Fix five strict PassOwnPtr violations in WebCore
90         https://bugs.webkit.org/show_bug.cgi?id=59640
91
92         * css/MediaList.cpp:
93         (WebCore::MediaList::deleteMedium):
94         (WebCore::MediaList::setMediaText):
95         (WebCore::MediaList::appendMedium):
96         * css/MediaQuery.h:
97         * dom/MessagePort.cpp:
98         (WebCore::MessagePort::disentanglePorts):
99         (WebCore::MessagePort::entanglePorts):
100         * inspector/InspectorStyleSheet.cpp:
101         (ParsedStyleSheet::setText):
102         * rendering/RenderTheme.cpp:
103         (WebCore::RenderTheme::adjustStyle):
104         (WebCore::RenderTheme::adjustMeterStyle):
105         * rendering/RenderThemeMac.mm:
106         (WebCore::RenderThemeMac::adjustMenuListStyle):
107         (WebCore::RenderThemeMac::adjustSliderTrackStyle):
108         (WebCore::RenderThemeMac::adjustSliderThumbStyle):
109         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
110         (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
111         (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
112         (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
113         (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
114
115 2011-04-27  Chris Fleizach  <cfleizach@apple.com>
116
117         Reviewed by Beth Dakin.
118
119         <rdar://problem/9315254> ARIA role attribute implemented incorrectly; does not support token list with fallbacks
120         https://bugs.webkit.org/show_bug.cgi?id=59648
121
122         Test: accessibility/aria-fallback-roles.html
123
124         * accessibility/AccessibilityObject.cpp:
125         (WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
126
127 2011-04-27  Beth Dakin  <bdakin@apple.com>
128
129         Reviewed by Dan Bernstein.
130
131         https://bugs.webkit.org/show_bug.cgi?id=59671
132         Race condition with scrollbar animations and closing a page can cause a crash in 
133         WebCore::FrameView::setVisibleScrollerThumbRect + 15
134         -and corresponding-
135         <rdar://problem/9329253>
136
137         It is definitely possible for Page to be null here. So we should null-check it! 
138         And we should not ASSERT.
139         * page/FrameView.cpp:
140         (WebCore::FrameView::didCompleteRubberBand):
141         (WebCore::FrameView::scrollbarStyleChanged):
142         (WebCore::FrameView::setVisibleScrollerThumbRect):
143
144 2011-04-27  Ryosuke Niwa  <rniwa@webkit.org>
145
146         WinCE build fix after r85143.
147
148         * platform/graphics/wince/FontWinCE.cpp:
149         (WebCore::TextRunComponent::TextRunComponent):
150
151 2011-04-27  Mark Pilgrim  <pilgrim@chromium.org>
152
153         Reviewed by Tony Chang.
154
155         IndexedDB object store delete should fail if key is null
156         https://bugs.webkit.org/show_bug.cgi?id=58614
157
158         Test: storage/indexeddb/mozilla/key-requirements-delete-null-key.html
159
160         * storage/IDBObjectStoreBackendImpl.cpp:
161         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
162
163 2011-04-27  Eric Seidel  <eric@webkit.org>
164
165         Reviewed by Ryosuke Niwa.
166
167         Should have an easy way to construct starting BidiStatus for a paragraph root
168         https://bugs.webkit.org/show_bug.cgi?id=59226
169
170         Two places try to construct BidiStatuses for a paragraph root using copy/paste code.
171         I've made this a constructor for BidiStatus instead.
172
173         As part of this effort I added a direction() accessor for TextRun and got
174         rid of the old m_rtl bool.  This is part of the generic effort in the
175         Bidi code to replace old bool usage with the superior TextDirection enum
176         (this generally makes the code cleaner).
177
178         As part of this replacement effort I found several places which were
179         assuming LTR (by passing rtl=false) when they probably want to use
180         the current text direction.  I suspect that LTR vs. RTL may affect
181         string width in the case of ligatures.  It's unclear.
182
183         This is almost entirely a mechanical change.
184
185         * html/canvas/CanvasRenderingContext2D.cpp:
186         (WebCore::CanvasRenderingContext2D::drawTextInternal):
187         * platform/graphics/GraphicsContext.cpp:
188         (WebCore::GraphicsContext::drawBidiText):
189         * platform/graphics/TextRun.h:
190         (WebCore::TextRun::TextRun):
191         (WebCore::TextRun::direction):
192         (WebCore::TextRun::rtl):
193         (WebCore::TextRun::ltr):
194         (WebCore::TextRun::setDirection):
195         * platform/text/BidiResolver.h:
196         (WebCore::BidiStatus::BidiStatus):
197         * rendering/EllipsisBox.cpp:
198         (WebCore::EllipsisBox::paint):
199         (WebCore::EllipsisBox::selectionRect):
200         (WebCore::EllipsisBox::paintSelection):
201         * rendering/InlineTextBox.cpp:
202         (WebCore::InlineTextBox::selectionRect):
203         (WebCore::InlineTextBox::paint):
204         (WebCore::InlineTextBox::paintSelection):
205         (WebCore::InlineTextBox::paintCompositionBackground):
206         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
207         (WebCore::InlineTextBox::paintTextMatchMarker):
208         (WebCore::InlineTextBox::computeRectForReplacementMarker):
209         (WebCore::InlineTextBox::offsetForPosition):
210         (WebCore::InlineTextBox::positionForOffset):
211         * rendering/RenderBlockLineLayout.cpp:
212         (WebCore::RenderBlock::determineStartPosition):
213         * rendering/RenderFileUploadControl.cpp:
214         (WebCore::RenderFileUploadControl::paintObject):
215         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
216         * rendering/RenderListBox.cpp:
217         (WebCore::RenderListBox::updateFromElement):
218         (WebCore::RenderListBox::paintItemForeground):
219         * rendering/RenderTextControl.cpp:
220         (WebCore::RenderTextControl::getAvgCharWidth):
221         (WebCore::RenderTextControl::paintPlaceholder):
222         * rendering/svg/SVGInlineTextBox.cpp:
223         (WebCore::SVGInlineTextBox::constructTextRun):
224         * rendering/svg/SVGTextMetrics.cpp:
225         (WebCore::constructTextRun):
226
227 2011-04-27  Robert Hogan  <robert@webkit.org>
228
229         Reviewed by Adam Barth.
230
231         Allow shadowing of history object
232         https://bugs.webkit.org/show_bug.cgi?id=55965
233
234         Tests: http/tests/history/cross-origin-replace-history-object-child.html
235                http/tests/history/cross-origin-replace-history-object.html
236
237         * page/DOMWindow.idl:
238
239 2011-04-27  James Robinson  <jamesr@chromium.org>
240
241         Reviewed by Kenneth Russell.
242
243         [chromium] Ensure compositing layers are up to date before entering doComposite
244         https://bugs.webkit.org/show_bug.cgi?id=59159
245
246         Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during
247         GraphicsLayerClient::paintContents() implementations).
248
249         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
250         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
251         * platform/graphics/chromium/LayerChromium.cpp:
252         (WebCore::LayerChromium::LayerChromium):
253         (WebCore::LayerChromium::~LayerChromium):
254         * platform/graphics/chromium/LayerRendererChromium.cpp:
255         (WebCore::LayerRendererChromium::updateLayers):
256         * platform/graphics/chromium/LayerRendererChromium.h:
257           Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents
258
259 2011-04-27  James Robinson  <jamesr@chromium.org>
260
261         Reviewed by Adam Barth.
262
263         Fix OwnPtr strict issues in chromium linux build
264         https://bugs.webkit.org/show_bug.cgi?id=59664
265
266         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
267         (WebCore::ComplexTextController::getNormalizedTextRun):
268         * platform/graphics/skia/ImageBufferSkia.cpp:
269         (WebCore::ImageBuffer::ImageBuffer):
270         * platform/graphics/skia/PlatformContextSkia.cpp:
271         (WebCore::PlatformContextSkia::PlatformContextSkia):
272
273 2011-04-27  Chris Rogers  <crogers@google.com>
274
275         Reviewed by Kenneth Russell.
276
277         Make sure to set sample-rate of created AudioBus in AudioBus::createBySampleRateConverting()
278         https://bugs.webkit.org/show_bug.cgi?id=59641
279
280         No new tests since audio API is not yet implemented.
281
282         * platform/audio/AudioBus.cpp:
283         (WebCore::AudioBus::createBySampleRateConverting):
284         (WebCore::AudioBus::createByMixingToMono):
285
286 2011-04-27  Geoffrey Garen  <ggaren@apple.com>
287
288         Motivated by Alexey Proskuryakov.
289
290         * bindings/scripts/CodeGeneratorJS.pm: Tried to make this comment more
291         informative, since it confused Alexey and me.
292
293 2011-04-27  Geoffrey Garen  <ggaren@apple.com>
294
295         Reviewed by Sam Weinig.
296
297         Fixed a small leak related to CSSValues when deallocating a DOMWrapperWorld
298         https://bugs.webkit.org/show_bug.cgi?id=59646
299
300         Made the cssValueRoots map per-world, instead of a global. When we deallocate
301         a world, we need to clear all entries in the map for that world, since
302         the finalizers that would otherwise clear those entries don't run. The
303         simplest way to do this is just to make the world own the map.
304         
305         * bindings/js/DOMWrapperWorld.h:
306         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
307         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
308         * bindings/js/JSCSSValueCustom.cpp:
309         (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
310         (WebCore::JSCSSValueOwner::finalize):
311         * bindings/js/JSDOMBinding.h:
312
313 2011-04-27  Adam Barth  <abarth@webkit.org>
314
315         Reviewed by David Levin.
316
317         Fix OwnPtr issues in IndexedDB
318         https://bugs.webkit.org/show_bug.cgi?id=59656
319
320         I didn't do an exhaustive review of this code, but I fixed the problems
321         caught by turning on strict OwnPtr and all their antecedents.  This
322         patch is entirely tighter bookkeeping.  There shouldn't be any actual
323         behavior change.
324
325         * platform/leveldb/LevelDBDatabase.cpp:
326         (WebCore::LevelDBDatabase::LevelDBDatabase):
327         (WebCore::LevelDBDatabase::open):
328         (WebCore::LevelDBDatabase::createIterator):
329         * platform/leveldb/LevelDBDatabase.h:
330         * platform/leveldb/LevelDBIterator.cpp:
331         (WebCore::LevelDBIterator::LevelDBIterator):
332         * platform/leveldb/LevelDBIterator.h:
333         * storage/IDBLevelDBBackingStore.cpp:
334         (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
335         (WebCore::IDBLevelDBBackingStore::open):
336         (WebCore::getNewDatabaseId):
337         (WebCore::IDBLevelDBBackingStore::getObjectStores):
338         (WebCore::getNewObjectStoreId):
339         (WebCore::deleteRange):
340         (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
341         (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
342         (WebCore::IDBLevelDBBackingStore::getIndexes):
343         (WebCore::getNewIndexId):
344         (WebCore::findGreatestKeyLessThan):
345         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
346         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
347         (WebCore::findLastIndexKeyEqualTo):
348         * storage/IDBLevelDBBackingStore.h:
349
350 2011-04-19  MORITA Hajime  <morrita@google.com>
351
352         Reviewed by Tony Chang.
353
354         [Refactoring] DocumentMarkerController::MarkerMapVectorPair should be replaced with a list of some class.
355         https://bugs.webkit.org/show_bug.cgi?id=58113
356
357         * Introduced RenderedDocumentMarker, a subclass of DocumentMarker.
358         * Eliminated Vector<IntRect> and move the IntRect into RenderedDocumentMarker
359         * Now MarkerMapVectorPair is no longer used.
360         
361         No new tests, No behavior change.
362
363         * GNUmakefile.list.am:
364         * WebCore.gypi:
365         * WebCore.pro:
366         * WebCore.vcproj/WebCore.vcproj:
367         * WebCore.xcodeproj/project.pbxproj:
368         * dom/DocumentMarker.h:
369         * dom/DocumentMarkerController.cpp:
370         (WebCore::DocumentMarkerController::addMarker):
371         (WebCore::DocumentMarkerController::copyMarkers):
372         (WebCore::DocumentMarkerController::removeMarkers):
373         (WebCore::DocumentMarkerController::markerContainingPoint):
374         (WebCore::DocumentMarkerController::markersForNode):
375         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
376         (WebCore::DocumentMarkerController::removeMarkersFromList):
377         (WebCore::DocumentMarkerController::repaintMarkers):
378         (WebCore::DocumentMarkerController::setRenderedRectForMarker):
379         (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
380         (WebCore::DocumentMarkerController::shiftMarkers):
381         (WebCore::DocumentMarkerController::setMarkersActive):
382         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
383         (WebCore::DocumentMarkerController::showMarkers):
384         * dom/DocumentMarkerController.h:
385         * dom/RenderedDocumentMarker.h: Added.
386         (WebCore::RenderedDocumentMarker::RenderedDocumentMarker):
387         (WebCore::RenderedDocumentMarker::isRendered):
388         (WebCore::RenderedDocumentMarker::contains):
389         (WebCore::RenderedDocumentMarker::setRenderedRect):
390         (WebCore::RenderedDocumentMarker::renderedRect):
391         (WebCore::RenderedDocumentMarker::invalidate):
392         (WebCore::RenderedDocumentMarker::invalidMarkerRect):
393
394 2011-04-27  James Robinson  <jamesr@chromium.org>
395
396         Unreviewed, rolling out r85112.
397         http://trac.webkit.org/changeset/85112
398         https://bugs.webkit.org/show_bug.cgi?id=59159
399
400         Broke mac compile
401
402         * page/FrameView.cpp:
403         (WebCore::FrameView::updateCompositingLayers):
404         * page/FrameView.h:
405         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
406         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
407         * platform/graphics/chromium/LayerChromium.cpp:
408         (WebCore::LayerChromium::LayerChromium):
409         (WebCore::LayerChromium::~LayerChromium):
410         * platform/graphics/chromium/LayerRendererChromium.cpp:
411         (WebCore::LayerRendererChromium::updateLayers):
412         * platform/graphics/chromium/LayerRendererChromium.h:
413
414 2011-04-27  Mark Rowe  <mrowe@apple.com>
415
416         Build fix.
417
418         * WebCore.xcodeproj/project.pbxproj: Make RenderLayerCompositor.h accessbile to WebKit and WebKit2.
419
420 2011-04-27  Pratik Solanki  <psolanki@apple.com>
421
422         Unreviewed. Fix WinCE build. The include should be guarded inside USE(CFNETWORK).
423
424         * platform/network/ResourceHandleClient.h:
425
426 2011-04-27  James Robinson  <jamesr@chromium.org>
427
428         Reviewed by Kenneth Russell.
429
430         [chromium] Ensure compositing layers are up to date before entering doComposite
431         https://bugs.webkit.org/show_bug.cgi?id=59159
432
433         Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during
434         GraphicsLayerClient::paintContents() implementations).
435
436         * page/FrameView.cpp:
437         (WebCore::FrameView::updateCompositingLayers):
438             Add an optional CompositingUpdateType parameter.
439         * page/FrameView.h:
440         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
441         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
442         * platform/graphics/chromium/LayerChromium.cpp:
443         (WebCore::LayerChromium::LayerChromium):
444         (WebCore::LayerChromium::~LayerChromium):
445         * platform/graphics/chromium/LayerRendererChromium.cpp:
446         (WebCore::LayerRendererChromium::updateLayers):
447         * platform/graphics/chromium/LayerRendererChromium.h:
448           Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents
449         * rendering/RenderLayer.cpp:
450         (WebCore::RenderLayer::dirtyZOrderLists):
451         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
452         * rendering/RenderLayerCompositor.cpp:
453         (WebCore::RenderLayerCompositor::updateCompositingLayers):
454         * rendering/RenderLayerCompositor.h:
455           Fix a typo in CompositingUpdateType Pait->Paint
456
457 2011-04-27  Pratik Solanki  <psolanki@apple.com>
458
459         Reviewed by Antti Koivisto.
460
461         Part of WebCore should use CFNetwork-based loader on Mac
462         https://bugs.webkit.org/show_bug.cgi?id=51836
463
464         Add willCacheResponse method when using CFNetwork on Mac. Also put appropriate ifdefs around
465         willCacheResponse/shouldCacheResponse.
466
467         * loader/EmptyClients.h:
468         * loader/FrameLoaderClient.h:
469         * loader/ResourceLoader.h:
470         * loader/cf/ResourceLoaderCFNet.cpp:
471         * loader/mac/ResourceLoaderMac.mm:
472         (WebCore::ResourceLoader::willCacheResponse):
473         * platform/network/ResourceHandleClient.h:
474         (WebCore::ResourceHandleClient::willCacheResponse):
475         (WebCore::ResourceHandleClient::shouldCacheResponse):
476         * platform/network/cf/ResourceHandleCFNet.cpp:
477         (WebCore::willCacheResponse):
478
479 2011-04-27  Ilya Tikhonovsky  <loislo@chromium.org>
480
481         Reviewed by Brian Weinstein.
482
483         Web Inspector: Stop on Exception state does not persist.
484
485         A wrong property name was used when we persist PauseOnExceptionState property to Local Storage.
486         https://bugs.webkit.org/show_bug.cgi?id=59630
487
488         * inspector/front-end/ScriptsPanel.js:
489         (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
490         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
491         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
492
493 2011-04-27  Adrienne Walker  <enne@google.com>
494
495         [chromium] Unreviewed, rollout r85075 (scissor rect changes)
496         https://bugs.webkit.org/show_bug.cgi?id=59020
497
498         * platform/graphics/chromium/LayerRendererChromium.cpp:
499         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
500
501 2011-04-27  Darin Adler  <darin@apple.com>
502
503         Reviewed by David Levin.
504
505         Fix strict OwnPtr issues seen in about 30 more files
506         https://bugs.webkit.org/show_bug.cgi?id=59615
507
508         * bindings/js/JSCallbackData.h:
509         (WebCore::DeleteCallbackDataTask::create): Use adoptPtr.
510         * bindings/js/JSMessageEventCustom.cpp:
511         (WebCore::JSMessageEvent::initMessageEvent): Use adoptPtr.
512         * css/CSSParser.cpp:
513         (WebCore::CSSParser::updateSpecifiersWithElementName): Use OwnPtr,
514         adoptPtr, and release.
515         * dom/MessageEvent.cpp:
516         (WebCore::MessageEvent::initMessageEvent): Use OwnPtr, adoptPtr,
517         and release.
518         * dom/MessagePortChannel.cpp:
519         (WebCore::MessagePortChannel::EventData::create): Use adoptPtr.
520         * dom/ScriptExecutionContext.cpp:
521         (WebCore::ProcessMessagesSoonTask::create): Use adoptPtr.
522         * dom/XMLDocumentParserLibxml2.cpp:
523         (WebCore::XMLDocumentParser::doEnd): Use adoptPtr.
524         * dom/default/PlatformMessagePortChannel.cpp:
525         (WebCore::MessagePortChannel::create): Use adoptPtr.
526         * html/HTMLFormControlElement.cpp:
527         (WebCore::HTMLFormControlElement::detach): Use nullptr.
528         * inspector/InspectorAgent.cpp:
529         (WebCore::PostWorkerNotificationToFrontendTask::create): Use adoptPtr.
530         * inspector/InspectorConsoleAgent.cpp:
531         (WebCore::InspectorConsoleAgent::addMessageToConsole): Use adoptPtr.
532         (WebCore::InspectorConsoleAgent::didReceiveResponse): Use adoptPtr.
533         (WebCore::InspectorConsoleAgent::didFailLoading): Use adoptPtr.
534         * inspector/InspectorController.cpp:
535         (WebCore::InspectorController::connectFrontend): Use adoptPtr.
536         * inspector/InspectorDOMAgent.cpp:
537         (WebCore::InspectorDOMAgent::didInvalidateStyleAttr): Use adoptPtr.
538         * inspector/InspectorResourceAgent.cpp:
539         (WebCore::InspectorResourceAgent::InspectorResourceAgent): Use adoptPtr.
540         * page/FrameActionScheduler.cpp:
541         (WebCore::FrameActionScheduler::scheduleEvent): Use adoptPtr.
542         * platform/graphics/ShadowBlur.cpp:
543         (WebCore::ScratchBuffer::clearScratchBuffer): Use nullptr.
544         * platform/graphics/ca/GraphicsLayerCA.cpp:
545         (WebCore::GraphicsLayer::create): Use adoptPtr.
546         (WebCore::GraphicsLayerCA::ensureCloneLayers): Use adoptPtr.
547         (WebCore::GraphicsLayerCA::removeCloneLayers): Use nullptr.
548         * rendering/RenderBlock.cpp:
549         (WebCore::RenderBlock::setMaxMarginBeforeValues): Use adoptPtr.
550         (WebCore::RenderBlock::setMaxMarginAfterValues): Use adoptPtr.
551         (WebCore::RenderBlock::setPaginationStrut): Use adoptPtr.
552         (WebCore::RenderBlock::setPageLogicalOffset): Use adoptPtr.
553         * rendering/RenderLayerBacking.cpp:
554         (WebCore::RenderLayerBacking::destroyGraphicsLayer): Use nullptr.
555         (WebCore::RenderLayerBacking::updateClippingLayers): Use nullptr.
556         (WebCore::RenderLayerBacking::updateForegroundLayer): Use nullptr.
557         (WebCore::RenderLayerBacking::updateMaskLayer): Use nullptr.
558         * rendering/RenderLayerCompositor.cpp:
559         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Use nullptr.
560         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Use nullptr.
561         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Use nullptr.
562         * rendering/style/StyleRareNonInheritedData.cpp:
563         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Removed
564         explicit initializations of OwnPtr members to 0. Use adoptPtr.
565         * workers/SharedWorkerContext.cpp:
566         (WebCore::createConnectEvent): Use adoptPtr.
567         * workers/Worker.cpp:
568         (WebCore::Worker::notifyFinished): Use nullptr.
569
570 2011-04-27  Enrica Casucci  <enrica@apple.com>
571
572         Reviewed by Darin Adler.
573
574         REGRESSION (r84311): Copy should preserve background color if specified in the body only if the entire content is selected.
575         https://bugs.webkit.org/show_bug.cgi?id=59251
576         <rdar://problem/9327044>
577
578         When we are looking for wrapping elements that are presentational, we should
579         include elements that have a non transparent background color only if they
580         are not blocks.
581
582         Test: editing/pasteboard/do-not-copy-body-color.html
583
584         * editing/markup.cpp:
585         (WebCore::isElementPresentational):
586
587 2011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
588
589         Reviewed by Antti Koivisto.
590
591         Teach sub-selector chains about shadow descendants
592         https://bugs.webkit.org/show_bug.cgi?id=58342
593
594         The primary change is to the logic of parsing specifiers:
595         1) The shadow descendant selectors (those specifiers that are unknown
596         pseudo element selectors) are always kept at the top of the chain.
597         2) The sub-selectors after shadow descendant selectors are stashed right
598         behind the sub-selector, but not at the end of the chain.
599         3) Other sub-selectors are appended at the end of the chain.
600
601         * css/CSSGrammar.y: Changed specifier_list collection to use new
602             CSSParser::updateSpecifier helper.
603         * css/CSSParser.cpp:
604         (WebCore::CSSParser::updateSpecifiersWithElementName): Added logic to
605             look for the last ShadowDescendant relation in the chain of selectors,
606             because the next selector after it is the one that should get the
607             element name.
608         (WebCore::CSSParser::updateSpecifiers): Moved and modified the logic from
609             CSSGrammar.y. The new logic adjusts the selector chain to allow
610             shadow descendant selectors have sub-selectors (and have multiple shadow
611             descendants in the chain).
612         * css/CSSParser.h: Added decl.
613         * css/CSSParserValues.cpp:
614         (WebCore::CSSParserSelector::insertTagHistory): Added.
615         (WebCore::CSSParserSelector::appendTagHistory): Aded.
616         * css/CSSParserValues.h: Added decls.
617         * css/CSSStyleSelector.cpp:
618         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added
619             shadow descendant selector match check, since now there could be many
620             of them in the selector chain.
621
622 2011-04-20  Adrienne Walker  <enne@google.com>
623
624         Reviewed by Kenneth Russell.
625
626         [chromium] Fix incorrect scissor rect for layers that render into a rendersurface
627         https://bugs.webkit.org/show_bug.cgi?id=59020
628
629         mapRect is the incorrect transform here.  The parent scissor rect
630         needs to be projected into layer space instead.
631
632         Test: compositing/flat-with-transformed-child.html
633
634         * platform/graphics/chromium/LayerRendererChromium.cpp:
635         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
636
637 2011-04-27  Pratik Solanki  <psolanki@apple.com>
638
639         Reviewed by Antti Koivisto.
640
641         Part of WebCore should use CFNetwork-based loader on Mac
642         https://bugs.webkit.org/show_bug.cgi?id=51836
643
644         * Configurations/WebCore.xcconfig: Add location of CFNetwork.framework.
645         * platform/mac/SoftLinking.h:
646         * platform/network/cf/CookieJarCFNet.cpp: Soft-link in CFNetwork functions on Mac.
647
648 2011-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>
649
650         Reviewed by Antti Koivisto.
651
652         Cleanup CSSStyleApplyProperty.cpp
653         https://bugs.webkit.org/show_bug.cgi?id=59623
654
655         As first step remove ApplyPropertyColorBase, merge it with ApplyPropertyColor, there's no need for two seperated classes.
656         Use typedefs instead of repating the function pointer declarations in a few places.
657
658         * css/CSSStyleApplyProperty.cpp:
659         (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
660         (WebCore::ApplyPropertyColor::ApplyPropertyColor):
661         (WebCore::ApplyPropertyColor::applyInheritValue):
662         (WebCore::ApplyPropertyColor::applyInitialValue):
663         (WebCore::ApplyPropertyColor::applyValue):
664         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
665
666 2011-04-27  Dan Bernstein  <mitz@apple.com>
667
668         Reviewed by Anders Carlsson.
669
670         <rdar://problem/9335973> REGRESSION (r84341): Buttons in the Mac App store are rendered incorrectly
671         https://bugs.webkit.org/show_bug.cgi?id=59622
672
673         Test: fast/borders/border-image-trumps-radius.html
674
675         * rendering/RenderBox.cpp:
676         (WebCore::RenderBox::determineBackgroundBleedAvoidance): If there is a renderable, loaded border
677         image, then border radius is ignored, so no bleed avoidance is needed.
678         * rendering/RenderObject.cpp:
679         (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered): Added. Moved some logic here from...
680         (WebCore::RenderObject::mustRepaintBackgroundOrBorder): ...here.
681         * rendering/RenderObject.h:
682
683 2011-02-03  Martin Robinson  <mrobinson@igalia.com>
684
685         Reviewed by Xan Lopez.
686
687         [GTK] editing/pasteboard/copy-standalone-image.html fails
688         https://bugs.webkit.org/show_bug.cgi?id=53645
689
690         When writing an image to the clipboard, also write the URL and title
691         into the markup and URL portion. This change also abstracts a helper
692         imageToMarkup into markup.{cpp/h} from several different locations
693         throughout the platform layer.
694
695         * editing/markup.h: Added new function definition.
696         * editing/markup.cpp:
697         (WebCore::imageToMarkup): Add this function which turns an image URL 
698         and element into some markup representing that image, while preserving
699         non-src attributes.
700         * platform/chromium/ClipboardChromium.cpp: Move the imageToMarkup helper
701         to markup.cpp.
702         * platform/gtk/PasteboardGtk.cpp:
703         (WebCore::getURLForImageNode): Add this helper which gets the appropriate
704         image URL for a variety of image tag types.
705         (WebCore::Pasteboard::writeImage): Write the image URL and title to the
706         markup and URL portions of the clipboard. This will ensure that images
707         paste properly back into WebKit.
708         * platform/win/ClipboardWin.cpp: Remove the imageToMarkup helper and the
709         one from markup.h
710
711 2011-04-27  Steve Block  <steveblock@google.com>
712
713         Reviewed by David Levin.
714
715         Remove Android build system
716         https://bugs.webkit.org/show_bug.cgi?id=48111
717
718         This is to avoid the maintenance burden until the Android port is
719         fully upstreamed.
720
721         No new tests, build change only.
722
723         * Android.derived.jscbindings.mk: Removed.
724         * Android.derived.mk: Removed.
725         * Android.derived.v8bindings.mk: Removed.
726         * Android.jscbindings.mk: Removed.
727         * Android.mk: Removed.
728         * Android.v8bindings.mk: Removed.
729
730 2011-04-27  Darin Adler  <darin@apple.com>
731
732         Reviewed by Sam Weinig.
733
734         Somehow about:blank gets into the icon database
735         https://bugs.webkit.org/show_bug.cgi?id=58067
736         rdar://problem/6751446
737
738         Implemented the policy Brady suggested, where only http and https URLs can
739         be associated with and icon, guarding both on the way in to the database,
740         and on the way out.
741
742         * loader/icon/IconDatabase.cpp:
743         (WebCore::pageCanHaveIcon): Added.
744         (WebCore::IconDatabase::synchronousIconForPageURL): Call pageCanHaveIcon
745         instead of just checking for an empty URL.
746         (WebCore::IconDatabase::synchronousIconURLForPageURL): Ditto.
747         (WebCore::IconDatabase::retainIconForPageURL): Ditto.
748         (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
749         (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
750         (WebCore::IconDatabase::getOrCreatePageURLRecord): Ditto.
751         (WebCore::IconDatabase::importIconURLForPageURL): Broke assertion into
752         two separate assertions and added a third.
753         (WebCore::IconDatabase::performURLImport): Call pageCanHaveIcon.
754
755         * platform/KURL.cpp: Sorted includes. Moved a FIXME to the top of the file.
756         (WebCore::isLetterMatchIgnoringCase): Renamed matchLetter to this name,
757         overloaded it to work on both UChar and char, and added an assertion to it.
758         Also moved this to the top of the file and made the UChar version usable
759         in the shared code used even by Google.
760         (WebCore::KURL::invalidate): Updated for name change.
761         (WebCore::KURL::protocolIs): Use isLetterMatchIgnoringCase instead of
762         toASCIILower since it's faster.
763         (WebCore::KURL::parse): Updated for name changes.
764         (WebCore::protocolIs):Use isLetterMatchIgnoringCase instead of toASCIILower
765         since it's faster.
766         (WebCore::protocolIsInHTTPFamily): Added.
767
768         * platform/KURL.h: Tweaked formatting. Renamed protocolInHTTPFamily
769         to protocolIsInHTTPFamily and added a version that works on a string.
770         Kept the old name as an inline function so we don't have to rename
771         all the cal sites now.
772
773         * platform/KURLGoogle.cpp: Renamed as above.
774         (WebCore::KURLGooglePrivate::KURLGooglePrivate): Updated for rename.
775         (WebCore::KURLGooglePrivate::setUtf8): Ditto.
776         (WebCore::KURLGooglePrivate::setAscii): Ditto.
777         (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily): Ditto.
778         (WebCore::KURLGooglePrivate::copyTo): Ditto.
779         (WebCore::KURL::KURL): Ditto.
780         (WebCore::KURL::protocolIsInHTTPFamily): Ditto.
781         (WebCore::KURL::invalidate): Ditto.
782         * platform/KURLGooglePrivate.h: Ditto.
783
784         * WebCore.exp.in: Updated for above changes.
785
786 2011-04-27  Yury Semikhatsky  <yurys@chromium.org>
787
788         Reviewed by Pavel Feldman.
789
790         Web Inspector: browser crash on evaluation of 'throw undefined'
791         https://bugs.webkit.org/show_bug.cgi?id=59611
792
793         Test: inspector/console/console-eval-throw-undefined.html
794
795         * inspector/InjectedScriptSource.js: use try/catch to protect from
796         exception during conversion of another exception to string.
797
798 2011-04-27  Pavel Feldman  <pfeldman@google.com>
799
800         Reviewed by Yury Semikhatsky.
801
802         Web Inspector: clicking bookmarklet multiplies resources panel entries.
803         https://bugs.webkit.org/show_bug.cgi?id=59590
804
805         * inspector/front-end/ResourceTreeModel.js:
806         (WebInspector.ResourceTreeModel):
807         (WebInspector.ResourceTreeModel.prototype._processCachedResources):
808         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
809         * inspector/front-end/ResourcesPanel.js:
810         (WebInspector.ResourcesPanel.prototype._populateResourceTree):
811         (WebInspector.FrameTreeElement):
812         (WebInspector.FrameTreeElement.prototype.appendResource):
813         * inspector/front-end/inspector.js:
814         (WebInspector.frontendReused):
815
816 2011-04-27  Pavel Feldman  <pfeldman@google.com>
817
818         Reviewed by Yury Semikhatsky.
819
820         Web Inspector: opening bookmarklet disconnects DOM agent.
821         https://bugs.webkit.org/show_bug.cgi?id=59588
822
823         * inspector/InspectorDOMAgent.cpp:
824         (WebCore::InspectorDOMAgent::setDocument):
825
826 2011-04-27  Hans Wennborg  <hans@chromium.org>
827
828         Reviewed by Tony Gentilcore.
829
830         IndexedDB: Fix compiler warnings about uninitialized variables
831         https://bugs.webkit.org/show_bug.cgi?id=59599
832
833         Build fix. No new tests.
834
835         * storage/IDBLevelDBBackingStore.cpp:
836         (WebCore::getNewObjectStoreId):
837         (WebCore::getNewIndexId):
838
839 2011-04-26  Hans Wennborg  <hans@chromium.org>
840
841         Reviewed by Tony Gentilcore.
842
843         IndexedDB: Move LevelDB key coding routines to separate file
844         https://bugs.webkit.org/show_bug.cgi?id=59452
845
846         Move all routines concerned with encoding, decoding and comparison of
847         LevelDB keys from IDBLevelDBBackingStore.cpp to a separate file:
848         IDBLevelDBCoding.cpp.
849
850         This makes IDBLevelDBBackingStore.cpp easier to work with, and will
851         allow for unit testing of the coding routines.
852
853         No new functionality, no new tests.
854
855         * WebCore.gypi:
856         * storage/IDBLevelDBBackingStore.cpp:
857         (WebCore::getInt):
858         (WebCore::putInt):
859         (WebCore::getString):
860         (WebCore::putString):
861         (WebCore::compareKeys):
862         (WebCore::compareIndexKeys):
863         (WebCore::Comparator::compare):
864         (WebCore::setUpMetadata):
865         (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
866         (WebCore::getNewDatabaseId):
867         (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
868         (WebCore::IDBLevelDBBackingStore::getObjectStores):
869         (WebCore::getNewObjectStoreId):
870         (WebCore::IDBLevelDBBackingStore::createObjectStore):
871         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
872         (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
873         (WebCore::getNewVersionNumber):
874         (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
875         (WebCore::IDBLevelDBBackingStore::clearObjectStore):
876         (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
877         (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
878         (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
879         (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
880         (WebCore::IDBLevelDBBackingStore::getIndexes):
881         (WebCore::getNewIndexId):
882         (WebCore::IDBLevelDBBackingStore::createIndex):
883         (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
884         (WebCore::versionExists):
885         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
886         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
887         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
888         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
889         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
890         * storage/IDBLevelDBCoding.cpp: Added.
891         (WebCore::IDBLevelDBCoding::encodeByte):
892         (WebCore::IDBLevelDBCoding::maxIDBKey):
893         (WebCore::IDBLevelDBCoding::minIDBKey):
894         (WebCore::IDBLevelDBCoding::encodeInt):
895         (WebCore::IDBLevelDBCoding::decodeInt):
896         (WebCore::IDBLevelDBCoding::encodeVarInt):
897         (WebCore::IDBLevelDBCoding::decodeVarInt):
898         (WebCore::IDBLevelDBCoding::encodeString):
899         (WebCore::IDBLevelDBCoding::decodeString):
900         (WebCore::IDBLevelDBCoding::encodeStringWithLength):
901         (WebCore::IDBLevelDBCoding::decodeStringWithLength):
902         (WebCore::IDBLevelDBCoding::encodeDouble):
903         (WebCore::IDBLevelDBCoding::decodeDouble):
904         (WebCore::IDBLevelDBCoding::encodeIDBKey):
905         (WebCore::IDBLevelDBCoding::decodeIDBKey):
906         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
907         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
908         (WebCore::IDBLevelDBCoding::compare):
909         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
910         (WebCore::IDBLevelDBCoding::KeyPrefix::decode):
911         (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
912         (WebCore::IDBLevelDBCoding::KeyPrefix::compare):
913         (WebCore::IDBLevelDBCoding::KeyPrefix::type):
914         (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
915         (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
916         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::DatabaseFreeListKey):
917         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::decode):
918         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
919         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::databaseId):
920         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::compare):
921         (WebCore::IDBLevelDBCoding::DatabaseNameKey::decode):
922         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
923         (WebCore::IDBLevelDBCoding::DatabaseNameKey::compare):
924         (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
925         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
926         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::decode):
927         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
928         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::objectStoreId):
929         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType):
930         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
931         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::IndexMetaDataKey):
932         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::decode):
933         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
934         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::compare):
935         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::indexId):
936         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
937         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::decode):
938         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
939         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::objectStoreId):
940         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::compare):
941         (WebCore::IDBLevelDBCoding::IndexFreeListKey::IndexFreeListKey):
942         (WebCore::IDBLevelDBCoding::IndexFreeListKey::decode):
943         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
944         (WebCore::IDBLevelDBCoding::IndexFreeListKey::compare):
945         (WebCore::IDBLevelDBCoding::IndexFreeListKey::objectStoreId):
946         (WebCore::IDBLevelDBCoding::IndexFreeListKey::indexId):
947         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::decode):
948         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
949         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::compare):
950         (WebCore::IDBLevelDBCoding::IndexNamesKey::IndexNamesKey):
951         (WebCore::IDBLevelDBCoding::IndexNamesKey::decode):
952         (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
953         (WebCore::IDBLevelDBCoding::IndexNamesKey::compare):
954         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::decode):
955         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
956         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare):
957         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::userKey):
958         (WebCore::IDBLevelDBCoding::ExistsEntryKey::decode):
959         (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
960         (WebCore::IDBLevelDBCoding::ExistsEntryKey::compare):
961         (WebCore::IDBLevelDBCoding::ExistsEntryKey::userKey):
962         (WebCore::IDBLevelDBCoding::IndexDataKey::IndexDataKey):
963         (WebCore::IDBLevelDBCoding::IndexDataKey::decode):
964         (WebCore::IDBLevelDBCoding::IndexDataKey::encode):
965         (WebCore::IDBLevelDBCoding::IndexDataKey::encodeMaxKey):
966         (WebCore::IDBLevelDBCoding::IndexDataKey::compare):
967         (WebCore::IDBLevelDBCoding::IndexDataKey::databaseId):
968         (WebCore::IDBLevelDBCoding::IndexDataKey::objectStoreId):
969         (WebCore::IDBLevelDBCoding::IndexDataKey::indexId):
970         (WebCore::IDBLevelDBCoding::IndexDataKey::userKey):
971         * storage/IDBLevelDBCoding.h: Added.
972         (WebCore::IDBLevelDBCoding::DatabaseNameKey::origin):
973         (WebCore::IDBLevelDBCoding::DatabaseNameKey::databaseName):
974         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::metaDataType):
975         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::objectStoreName):
976         (WebCore::IDBLevelDBCoding::IndexNamesKey::indexName):
977
978 2011-04-27  Yury Semikhatsky  <yurys@chromium.org>
979
980         Reviewed by Pavel Feldman.
981
982         Web Inspector: expose exception details when script is paused on exception
983         https://bugs.webkit.org/show_bug.cgi?id=59591
984
985         When script is paused on an exception, the exception value is added as <exception>
986         property in the local scope and the breakpoint details message says
987         "Paused on excepion: '<exception to strin value>'."
988
989         * English.lproj/localizedStrings.js:
990         * inspector/front-end/ScopeChainSidebarPane.js:
991         (WebInspector.ScopeChainSidebarPane.prototype.update):
992         * inspector/front-end/ScriptsPanel.js:
993         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
994         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
995
996 2011-04-26  Yury Semikhatsky  <yurys@chromium.org>
997
998         Reviewed by Pavel Feldman.
999
1000         Web Inspector: [protocol] Paused event should expose exception value that caused it
1001         https://bugs.webkit.org/show_bug.cgi?id=58996
1002
1003         Debug.pause event now contains an optional reference to the exception
1004         object in case script execution is paused on a JavaScript exception.
1005
1006         Also JavaScript call frames are passed directly into the injected script when
1007         we need to wrap them for passing to the front-end. This change breaks cyclic
1008         dependency ScriptDebugServer->InspectorDebuggerAgent->InjectedScript->InjectedScriptHost->ScriptDebugServer
1009
1010         * bindings/js/JSInjectedScriptHostCustom.cpp:
1011         * bindings/js/ScriptDebugServer.cpp:
1012         (WebCore::ScriptDebugServer::dispatchDidPause):
1013         * bindings/js/ScriptDebugServer.h:
1014         * bindings/v8/ScriptDebugServer.cpp:
1015         (WebCore::ScriptDebugServer::breakProgram):
1016         (WebCore::ScriptDebugServer::editScriptSource):
1017         (WebCore::ScriptDebugServer::breakProgramCallback):
1018         (WebCore::ScriptDebugServer::handleV8DebugEvent):
1019         * bindings/v8/ScriptDebugServer.h:
1020         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1021         * inspector/InjectedScript.cpp:
1022         (WebCore::InjectedScript::evaluateOnCallFrame):
1023         (WebCore::InjectedScript::wrapCallFrames):
1024         * inspector/InjectedScript.h:
1025         * inspector/InjectedScriptHost.cpp:
1026         * inspector/InjectedScriptHost.h:
1027         (WebCore::InjectedScriptHost::init):
1028         * inspector/InjectedScriptHost.idl:
1029         * inspector/InjectedScriptSource.js:
1030         (.):
1031         * inspector/Inspector.json:
1032         * inspector/InspectorAgent.cpp:
1033         (WebCore::InspectorAgent::InspectorAgent):
1034         * inspector/InspectorDebuggerAgent.cpp:
1035         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1036         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1037         (WebCore::InspectorDebuggerAgent::wrapCallFrames):
1038         (WebCore::InspectorDebuggerAgent::didPause):
1039         (WebCore::InspectorDebuggerAgent::didContinue):
1040         (WebCore::InspectorDebuggerAgent::clear):
1041         * inspector/InspectorDebuggerAgent.h:
1042         * inspector/ScriptDebugListener.h:
1043         * inspector/WorkerInspectorController.cpp:
1044         (WebCore::WorkerInspectorController::WorkerInspectorController):
1045
1046 2011-04-27  Pavel Feldman  <pfeldman@google.com>
1047
1048         Reviewed by Yury Semikhatsky.
1049
1050         Web Inspector: implement incremental CSS editing in the structure view.
1051         https://bugs.webkit.org/show_bug.cgi?id=59455
1052
1053         * inspector/front-end/StylesSidebarPane.js:
1054         (WebInspector.StylePropertyTreeElement.prototype):
1055
1056 2011-04-27  Mihai Parparita  <mihaip@chromium.org>
1057
1058         Reviewed by Eric Seidel.
1059
1060         Frame.h shouldn't include Document.h
1061         https://bugs.webkit.org/show_bug.cgi?id=59560
1062
1063         Frame can use a forward-declared Document if we move
1064         Frame::displayStringModifiedByEncoding's implementation out of the
1065         header.
1066                                 Size  #includes  Size * #includes
1067         Before: page/Frame.h:   0.746       653           487.138
1068                 dom/Document.h: 0.220      1306           287.320
1069         
1070         After:  page/Frame.h:   0.646       653           421.838
1071                 dom/Document.h: 0.220      1189           261.580
1072
1073         * WebCore.exp.in:
1074         * bindings/ScriptControllerBase.cpp:
1075         * bindings/generic/BindingSecurityBase.cpp:
1076         * bindings/v8/V8Proxy.cpp:
1077         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1078         * dom/CharacterData.cpp:
1079         * dom/UserTypingGestureIndicator.cpp:
1080         * editing/chromium/SelectionControllerChromium.cpp:
1081         * inspector/InspectorDOMStorageResource.cpp:
1082         * inspector/InspectorInstrumentation.h:
1083         * loader/PingLoader.cpp:
1084         * loader/SubresourceLoader.cpp:
1085         * loader/appcache/DOMApplicationCache.cpp:
1086         * loader/cache/CachedResourceRequest.cpp:
1087         * page/Frame.cpp:
1088         (WebCore::Frame::displayStringModifiedByEncoding):
1089         * page/Frame.h:
1090         * page/Geolocation.cpp:
1091         * page/Location.cpp:
1092         * page/Navigator.cpp:
1093         * page/PageGroupLoadDeferrer.cpp:
1094         * page/PerformanceTiming.cpp:
1095         * xml/XSLTProcessorLibxslt.cpp:
1096
1097 2011-04-27  James Robinson  <jamesr@chromium.org>
1098
1099         Reviewed by Eric Seidel.
1100
1101         Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
1102         https://bugs.webkit.org/show_bug.cgi?id=59377
1103
1104         This cleans up some strict OwnPtr<> violations around text and box shadow data.  ShadowData's linked list data
1105         structure now uses OwnPtr<>s to manage memory - each entry in the list has ownership of the next ShadowData.
1106
1107         * css/CSSStyleSelector.cpp:
1108         (WebCore::CSSStyleSelector::applyProperty):
1109         * page/animation/AnimationBase.cpp:
1110         (WebCore::blendFunc):
1111         (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
1112         (WebCore::PropertyWrapperShadow::blend):
1113         * rendering/style/RenderStyle.cpp:
1114         (WebCore::RenderStyle::setTextShadow):
1115         (WebCore::RenderStyle::setBoxShadow):
1116         * rendering/style/RenderStyle.h:
1117         (WebCore::InheritedFlags::textShadow):
1118         * rendering/style/ShadowData.cpp:
1119         (WebCore::ShadowData::ShadowData):
1120         * rendering/style/ShadowData.h:
1121         (WebCore::ShadowData::ShadowData):
1122         (WebCore::ShadowData::next):
1123         (WebCore::ShadowData::setNext):
1124         * rendering/style/StyleRareInheritedData.cpp:
1125         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1126         (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
1127         * rendering/style/StyleRareInheritedData.h:
1128         * rendering/style/StyleRareNonInheritedData.cpp:
1129         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1130
1131 2011-04-26  David Levin  <levin@chromium.org>
1132
1133         Reviewed by Eric Seidel.
1134
1135         Fix some strict PassOwnPtr issues in WebCore.
1136         https://bugs.webkit.org/show_bug.cgi?id=59563
1137
1138         * css/SVGCSSStyleSelector.cpp:
1139         (WebCore::CSSStyleSelector::applySVGProperty):
1140         * html/canvas/WebGLRenderingContext.cpp:
1141         (WebCore::WebGLRenderingContext::create):
1142         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
1143         * platform/text/TextCodecLatin1.cpp:
1144         (WebCore::newStreamingTextDecoderWindowsLatin1):
1145         * platform/text/TextCodecUTF16.cpp:
1146         (WebCore::newStreamingTextDecoderUTF16LE):
1147         (WebCore::newStreamingTextDecoderUTF16BE):
1148         * platform/text/TextCodecUserDefined.cpp:
1149         (WebCore::newStreamingTextDecoderUserDefined):
1150         * platform/text/mac/TextCodecMac.cpp:
1151         (WebCore::newTextCodecMac):
1152         * workers/Worker.cpp:
1153         (WebCore::Worker::notifyFinished):
1154
1155 2011-04-26  Justin Novosad  <junov@chromium.org>
1156
1157         Reviewed by Kenneth Russell.
1158
1159         [Chromium] Expose skia gpu canvas rendering as a runtime flag
1160         https://bugs.webkit.org/show_bug.cgi?id=58683
1161         Replace the SKIA_GPU compile flag by the pre-existing
1162         acceleratedDrawingEnabled flag. Most code changes are trivial:
1163         compile-time conditionals on SKIA_GPU were either replaced with
1164         a run-time check, or a compile time check on USE(SKIA) 
1165
1166         No new tests. Covered by existing tests.
1167
1168         * html/canvas/CanvasRenderingContext2D.cpp:
1169         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
1170         * page/Page.cpp:
1171         (WebCore::Page::sharedGraphicsContext3D):
1172         Added check for the acceleratedDrawing flag.
1173         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1174         (WebCore::DrawingBuffer::DrawingBuffer):
1175         (WebCore::DrawingBuffer::publishToPlatformLayer):
1176         * platform/graphics/gpu/DrawingBuffer.h:
1177         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1178         (WebCore::SharedGraphicsContext3D::create):
1179         On Skia builds, this methos now receives a bool arg to turn on
1180         GPU-accelerated skia rendering
1181         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
1182         (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
1183         (WebCore::SharedGraphicsContext3D::grContext):
1184         * platform/graphics/gpu/SharedGraphicsContext3D.h:
1185         * platform/graphics/skia/ImageSkia.cpp:
1186         (WebCore::computeResamplingMode):
1187         (WebCore::paintSkBitmap):
1188         (WebCore::Image::drawPattern):
1189         * platform/graphics/skia/PlatformContextSkia.cpp:
1190         (WebCore::PlatformContextSkia::PlatformContextSkia):
1191         (WebCore::PlatformContextSkia::~PlatformContextSkia):
1192         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
1193         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
1194         (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
1195         (WebCore::PlatformContextSkia::prepareForHardwareDraw):
1196         (WebCore::PlatformContextSkia::syncSoftwareCanvas):
1197         (WebCore::PlatformContextSkia::markDirtyRect):
1198         * platform/graphics/skia/PlatformContextSkia.h:
1199         (WebCore::PlatformContextSkia::accelerationMode):
1200         (WebCore::PlatformContextSkia::useGPU):
1201         (WebCore::PlatformContextSkia::useSkiaGPU):
1202
1203 2011-04-26  Pavel Feldman  <pfeldman@chromium.org>
1204
1205         Not reviewed: restore inspector test disabled in r84913.
1206
1207         Test: http/tests/inspector-enabled/dom-storage-open.html
1208
1209         * inspector/InspectorDOMStorageAgent.cpp:
1210         (WebCore::InspectorDOMStorageAgent::clearFrontend):
1211
1212 2011-04-26  Kenichi Ishibashi  <bashi@chromium.org>
1213
1214         Reviewed by Tony Chang.
1215
1216         [Chromium] Vertical positions are off for some Arabic glyphs on Linux
1217         https://bugs.webkit.org/show_bug.cgi?id=59182
1218
1219         Use vertical offsets of the shaping results.
1220
1221         Test: platform/chromium-linux/fast/text/international/arabic-vertical-offset.html
1222
1223         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1224         (WebCore::ComplexTextController::ComplexTextController):
1225         Added initialization of m_startingY.
1226         (WebCore::ComplexTextController::nextScriptRun):
1227         Followed the change in handling positions.
1228         (WebCore::ComplexTextController::deleteGlyphArrays): Ditto.
1229         (WebCore::ComplexTextController::createGlyphArrays): Ditto.
1230         (WebCore::ComplexTextController::resetGlyphArrays): Ditto.
1231         (WebCore::ComplexTextController::setGlyphPositions):
1232         Changed to use vertical offsets as same as horizontal offsets.
1233         * platform/graphics/chromium/ComplexTextControllerLinux.h:
1234         Removed m_xPositions and Added m_positions and m_startingY.
1235         (WebCore::ComplexTextController::positions): Added.
1236         * platform/graphics/chromium/FontLinux.cpp:
1237         Followed the change in ComplexTextController.
1238         (WebCore::Font::drawComplexText): Ditto.
1239         (WebCore::Font::floatWidthForComplexText): Ditto.
1240         (WebCore::glyphIndexForXPositionInScriptRun): Ditto.
1241         (WebCore::Font::offsetForPositionForComplexText): Ditto.
1242         (WebCore::Font::selectionRectForComplexText): Ditto.
1243
1244 2011-04-26  Levi Weintraub  <leviw@chromium.org>
1245
1246         Reviewed by Eric Seidel.
1247
1248         Root element should establish a new block formatting context
1249         https://bugs.webkit.org/show_bug.cgi?id=54573
1250
1251         Always expanding the root renderer to include overhanging floats.
1252
1253         Test: fast/block/float/float-overhangs-root.html
1254
1255         * rendering/RenderBlock.cpp:
1256         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
1257
1258 2011-04-26  Dawit Alemayehu  <adawit@kde.org>
1259
1260         Reviewed by Andreas Kling.
1261
1262         [Qt] Improper rendering of <button> tag when it contains a <br>
1263         https://bugs.webkit.org/show_bug.cgi?id=50521
1264
1265         Test: platform/qt/fast/forms/button-line-break.html
1266
1267         * platform/qt/RenderThemeQt.cpp:
1268         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
1269         (WebCore::RenderThemeQt::setButtonPadding):
1270
1271 2011-04-26  James Robinson  <jamesr@chromium.org>
1272
1273         Reviewed by Kenneth Russell.
1274
1275         [chromium] Only reset tiles if the LayerRendererChromium is actually changing
1276         https://bugs.webkit.org/show_bug.cgi?id=59572
1277
1278         http://trac.webkit.org/changeset/84981/ caused us to reset the tiles
1279         when LayerRendererChromium was set.  We set this pointer every frame
1280         and should only reset the tiles if the new LayerRendererChromium is
1281         different from the old one (indicating a context loss), not just reset
1282         on every frame.
1283
1284         * platform/graphics/chromium/LayerTilerChromium.cpp:
1285         (WebCore::LayerTilerChromium::setLayerRenderer):
1286         * platform/graphics/chromium/LayerTilerChromium.h:
1287
1288 2011-04-26  Dinesh K Garg  <dineshg@codeaurora.org>
1289
1290         Reviewed by Eric Seidel.
1291
1292         beginElement broken by setAttribute
1293         https://bugs.webkit.org/show_bug.cgi?id=26019
1294
1295         Test: svg/animations/animate-beginElementAt.svg
1296
1297         * svg/SVGAnimationElement.cpp:
1298         (WebCore::SVGAnimationElement::attributeChanged):
1299         Reset the animation state here as the rest of the code reads it and would still
1300         think we are animating when we are not.
1301
1302         * svg/animation/SVGSMILElement.h:
1303         (WebCore::SVGSMILElement::setInactive): Helper function to reset the state.
1304
1305 2011-04-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1306
1307         Unreviewed, rolling out r84989.
1308         http://trac.webkit.org/changeset/84989
1309         https://bugs.webkit.org/show_bug.cgi?id=59566
1310
1311         REGRESSION (r84989): Lots of vertical text tests failing on
1312         windows (Requested by weinig on #webkit).
1313
1314         * platform/graphics/FontPlatformData.h:
1315         * platform/graphics/win/FontCacheWin.cpp:
1316         (WebCore::FontCache::getFontDataForCharacters):
1317         (WebCore::FontCache::createFontPlatformData):
1318         * platform/graphics/win/FontCustomPlatformData.cpp:
1319         (WebCore::FontCustomPlatformData::fontPlatformData):
1320         * platform/graphics/win/FontPlatformDataCGWin.cpp:
1321         (WebCore::FontPlatformData::FontPlatformData):
1322         * platform/graphics/win/FontPlatformDataWin.cpp:
1323         (WebCore::FontPlatformData::FontPlatformData):
1324
1325 2011-04-26  Sam Weinig  <sam@webkit.org>
1326
1327         Reviewed by Eric Seidel.
1328
1329         Try again:
1330             Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects
1331             https://bugs.webkit.org/show_bug.cgi?id=59310
1332
1333         * bindings/js/JSDOMBinding.h:
1334         (WebCore::DOMConstructorObject::DOMConstructorObject):
1335         * bindings/js/JSDOMWrapper.h:
1336         (WebCore::JSDOMWrapper::globalObject):
1337         (WebCore::JSDOMWrapper::scriptExecutionContext):
1338         (WebCore::JSDOMWrapper::createStructure):
1339         (WebCore::JSDOMWrapper::JSDOMWrapper):
1340         * bindings/scripts/CodeGeneratorJS.pm:
1341
1342 2011-04-26  Sam Weinig  <sam@webkit.org>
1343
1344         Reviewed by David Hyatt.
1345
1346         Remove Datagrid from the tree
1347         https://bugs.webkit.org/show_bug.cgi?id=59543
1348
1349         * Android.derived.jscbindings.mk:
1350         * Android.derived.v8bindings.mk:
1351         * Android.jscbindings.mk:
1352         * Android.v8bindings.mk:
1353         * CMakeLists.txt:
1354         * CodeGenerators.pri:
1355         * Configurations/FeatureDefines.xcconfig:
1356         * DerivedSources.cpp:
1357         * DerivedSources.make:
1358         * GNUmakefile.am:
1359         * GNUmakefile.list.am:
1360         * UseJSC.cmake:
1361         * WebCore.gypi:
1362         * WebCore.pro:
1363         * WebCore.vcproj/WebCore.vcproj:
1364         * WebCore.xcodeproj/project.pbxproj:
1365         * bindings/js/JSBindingsAllInOne.cpp:
1366         * bindings/js/JSDataGridColumnListCustom.cpp: Removed.
1367         * bindings/js/JSDataGridDataSource.cpp: Removed.
1368         * bindings/js/JSDataGridDataSource.h: Removed.
1369         * bindings/js/JSHTMLDataGridElementCustom.cpp: Removed.
1370         * bindings/v8/V8DataGridDataSource.cpp: Removed.
1371         * bindings/v8/V8DataGridDataSource.h: Removed.
1372         * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Removed.
1373         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Removed.
1374         * css/CSSStyleSelector.cpp:
1375         * css/CSSStyleSelector.h:
1376         * css/html.css:
1377         (input, textarea, keygen, select, button, isindex):
1378         (select:disabled, keygen:disabled, optgroup:disabled, option:disabled):
1379         * editing/htmlediting.cpp:
1380         (WebCore::canHaveChildrenForEditing):
1381         * features.pri:
1382         * html/DOMDataGridDataSource.cpp: Removed.
1383         * html/DOMDataGridDataSource.h: Removed.
1384         * html/DataGridColumn.cpp: Removed.
1385         * html/DataGridColumn.h: Removed.
1386         * html/DataGridColumn.idl: Removed.
1387         * html/DataGridColumnList.cpp: Removed.
1388         * html/DataGridColumnList.h: Removed.
1389         * html/DataGridColumnList.idl: Removed.
1390         * html/DataGridDataSource.h: Removed.
1391         * html/HTMLDataGridCellElement.cpp: Removed.
1392         * html/HTMLDataGridCellElement.h: Removed.
1393         * html/HTMLDataGridCellElement.idl: Removed.
1394         * html/HTMLDataGridColElement.cpp: Removed.
1395         * html/HTMLDataGridColElement.h: Removed.
1396         * html/HTMLDataGridColElement.idl: Removed.
1397         * html/HTMLDataGridElement.cpp: Removed.
1398         * html/HTMLDataGridElement.h: Removed.
1399         * html/HTMLDataGridElement.idl: Removed.
1400         * html/HTMLDataGridRowElement.cpp: Removed.
1401         * html/HTMLDataGridRowElement.h: Removed.
1402         * html/HTMLDataGridRowElement.idl: Removed.
1403         * html/HTMLElement.cpp:
1404         (WebCore::HTMLElement::ieForbidsInsertHTML):
1405         * html/HTMLElementsAllInOne.cpp:
1406         * html/HTMLTagNames.in:
1407         * page/DOMWindow.idl:
1408         * rendering/RenderBox.cpp:
1409         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
1410         * rendering/RenderDataGrid.cpp: Removed.
1411         * rendering/RenderDataGrid.h: Removed.
1412         * rendering/RenderingAllInOne.cpp:
1413
1414 2011-04-26  Chun-Lung Huang  <alvincl.huang@gmail.com>
1415
1416         Reviewed by Adele Peterson.
1417
1418         On WebKit (Windows), glyphs in vertical text tests are rotated 90
1419         degrees clockwise.  https://bugs.webkit.org/show_bug.cgi?id=48459
1420
1421         This platform dependent patch makes WebKit (Windows) show the
1422         vertical writing text correctly.  Job was done by adding a prefix '@'
1423         in front of the font family name (Windows Only). No new tests added.
1424         Some layout tests images:
1425         http://www.flickr.com/photos/burorly/sets/72157625585506341/
1426
1427         * platform/graphics/FontPlatformData.h:
1428         * platform/graphics/win/FontCacheWin.cpp:
1429         (WebCore::FontCache::getFontDataForCharacters):
1430         (WebCore::FontCache::createFontPlatformData):
1431         * platform/graphics/win/FontCustomPlatformData.cpp:
1432         (WebCore::FontCustomPlatformData::fontPlatformData):
1433         * platform/graphics/win/FontPlatformDataCGWin.cpp:
1434         (WebCore::FontPlatformData::FontPlatformData):
1435         * platform/graphics/win/FontPlatformDataWin.cpp:
1436         (WebCore::FontPlatformData::FontPlatformData):
1437
1438 2011-04-26  Jer Noble  <jer.noble@apple.com>
1439
1440         Reviewed by Brady Eidson.
1441
1442         HTML5 video fullscreen transition causes an audio stutter
1443         https://bugs.webkit.org/show_bug.cgi?id=59544
1444
1445         AVFoundation will momentarily stutter when you disconnect a AVPlayerLayer 
1446         from its AVPlayer.  Since you shouldn't necessarily have to destroy the
1447         layer to render it invisible, instead just set the layer as hidden.
1448
1449         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1450         (WebCore::MediaPlayerPrivateAVFoundation::setVisible): Call through to platformSetVisible().
1451         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1452         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
1453         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
1454         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformSetVisible): Added.
1455
1456 2011-04-26  Christian Dywan  <christian@lanedo.com>
1457
1458         Reviewed by Eric Seidel.
1459
1460         Extra separator after Select All in context menu
1461         https://bugs.webkit.org/show_bug.cgi?id=54092
1462
1463         * page/ContextMenuController.cpp: Move separator to non-GTK+
1464             port guards since it is for the spelling options menu
1465             which the GTK+ port doesn't use.
1466
1467 2011-04-26  James Robinson  <jamesr@chromium.org>
1468
1469         Reviewed by Kenneth Russell.
1470
1471         [chromium] Clear out LayerTilerChromium's tiles on lost context
1472         https://bugs.webkit.org/show_bug.cgi?id=59233
1473
1474         Clears out the LayerTilerChromium's tile set when the LayerRendererChromium is reset.  In this case the tiles are
1475         no longer valid since they exist in the previous LayerRendererChromium.
1476
1477         Will be tested by a chrome test since we don't have any way to exercise the context lost case in layout tests.
1478
1479         * platform/graphics/chromium/LayerTilerChromium.h:
1480         (WebCore::LayerTilerChromium::setLayerRenderer):
1481
1482 2011-04-26  Martin Robinson  <mrobinson@igalia.com>
1483
1484         Reviewed by Dirk Schulze.
1485
1486         [GTK] Flash in divs with overflow: auto is not positioned and clipped properly
1487         https://bugs.webkit.org/show_bug.cgi?id=57644
1488
1489         Manual test: plugins/windowed-in-iframe-2.html
1490
1491         * manual-tests/plugins/windowed-in-iframe-2.html: Added.
1492         * platform/gtk/WidgetGtk.cpp:
1493         (WebCore::Widget::setFrameRect): Like the Qt port, we notify the widget via frameRectsChanged.
1494         * plugins/PluginView.h: Added helper method to set the allocation and clip.
1495         * plugins/gtk/PluginViewGtk.cpp:
1496         (WebCore::PluginView::setNPWindowIfNeeded):Call the helper method instead of setting
1497         the allocation immediately. Bring this method into sync with the implementation in
1498         the Qt port.
1499         (WebCore::PluginView::updateWidgetAllocationAndClip): Added.
1500         (WebCore::PluginView::plugAddedCallback): Call the new helper method.
1501
1502 2011-04-26  Martin Robinson  <mrobinson@igalia.com>
1503
1504         Reviewed by Eric Seidel.
1505
1506         [GTK]  fast/block/float/overhanging-tall-block.html crashes in the bots
1507         https://bugs.webkit.org/show_bug.cgi?id=58818
1508
1509         Prevent allocating scratch buffers larger than the target GdkDrawable
1510         when creating a WidgetRenderingContext. This prevents incredibly large
1511         widgets from crashing the X Server. This change also allowed greatly
1512         simplifying the way that the painting offset is calculated.
1513
1514         * platform/gtk/WidgetRenderingContext.cpp:
1515         (WebCore::WidgetRenderingContext::WidgetRenderingContext): Never allocate a pixmap
1516         larger than the target GdkDrawable.
1517         (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Calculate the offset of the
1518         blit by looking at the location of the target rect itself, rather than delaying the
1519         calculation up to this point.
1520         (WebCore::WidgetRenderingContext::calculateClipRect): Added.
1521         (WebCore::WidgetRenderingContext::gtkPaintBox): Use the new calculateClipRectHelper.
1522         (WebCore::WidgetRenderingContext::gtkPaintFlatBox): Ditto.
1523         (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
1524         (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
1525         (WebCore::WidgetRenderingContext::gtkPaintCheck): Ditto.
1526         (WebCore::WidgetRenderingContext::gtkPaintOption): Ditto.
1527         (WebCore::WidgetRenderingContext::gtkPaintShadow): Ditto.
1528         (WebCore::WidgetRenderingContext::gtkPaintArrow): Ditto.
1529         (WebCore::WidgetRenderingContext::gtkPaintVLine): Ditto.
1530         * platform/gtk/WidgetRenderingContext.h: Remove some now unused members. Add
1531         a member to store the IntSize mapping from the coordinates of the target to the coordinates
1532         of the scratch buffer.
1533
1534 2011-04-26  Patrick Gansterer  <paroga@webkit.org>
1535
1536         Reviewed by Adam Barth.
1537
1538         Respect charset in handleDataURL
1539         https://bugs.webkit.org/show_bug.cgi?id=47746
1540
1541         Original patch by Kwang Yul Seo <skyul@company100.net>
1542
1543         We must use TextEncoding(charset) to encode data URL again. Otherwise TextEncoding::encode()
1544         returns an empty string because encoding name is not specified.
1545
1546         Also use "US-ASCII" as fallback charset as extractCharsetFromMediaType can be empty.
1547
1548         This change fixes over 130 layout tests when running GTK port with cURL network backend.
1549
1550         * platform/network/DataURL.cpp:
1551         (WebCore::handleDataURL):
1552
1553 2011-04-26  Anders Carlsson  <andersca@apple.com>
1554
1555         Fix clang++ build.
1556
1557         You can never have too many casts!
1558
1559         * accessibility/mac/AccessibilityObjectWrapper.mm:
1560         (-[AccessibilityObjectWrapper position]):
1561         * editing/mac/SelectionControllerMac.mm:
1562         (WebCore::accessibilityConvertScreenRect):
1563
1564 2011-04-26  Chris Rogers  <crogers@google.com>
1565
1566         Reviewed by Kenneth Russell.
1567
1568         Fix web audio build on mac port
1569         https://bugs.webkit.org/show_bug.cgi?id=59355
1570
1571         No new tests since audio API is not yet implemented.
1572
1573         * WebCore.xcodeproj/project.pbxproj:
1574         * bindings/js/JSAudioContextCustom.cpp:
1575         (WebCore::JSAudioContext::visitChildren):
1576         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
1577         (WebCore::JSJavaScriptAudioNode::visitChildren):
1578         * webaudio/AudioContext.idl:
1579
1580 2011-04-26  Chris Rogers  <crogers@google.com>
1581
1582         Reviewed by Kenneth Russell.
1583
1584         Add FFTFrame implementation for FFmpeg
1585         https://bugs.webkit.org/show_bug.cgi?id=59408
1586
1587         No new tests since audio API is not yet implemented.
1588
1589         * WebCore.gyp/WebCore.gyp:
1590         * WebCore.gypi:
1591         * platform/audio/FFTFrame.h:
1592         * platform/audio/FFTFrameStub.cpp:
1593         * platform/audio/ffmpeg: Added.
1594         * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp: Added.
1595         (WebCore::FFTFrame::FFTFrame):
1596         (WebCore::FFTFrame::initialize):
1597         (WebCore::FFTFrame::cleanup):
1598         (WebCore::FFTFrame::~FFTFrame):
1599         (WebCore::FFTFrame::multiply):
1600         (WebCore::FFTFrame::doFFT):
1601         (WebCore::FFTFrame::doInverseFFT):
1602         (WebCore::FFTFrame::realData):
1603         (WebCore::FFTFrame::imagData):
1604         (WebCore::FFTFrame::getUpToDateComplexData):
1605         (WebCore::FFTFrame::contextForSize):
1606         * platform/audio/mac/FFTFrameMac.cpp:
1607         * webaudio/ConvolverNode.cpp:
1608
1609 2011-04-26  Jeff Miller  <jeffm@apple.com>
1610
1611         Add a newline at the end of SVGFEDropShadowElement.idl.
1612
1613         * svg/SVGFEDropShadowElement.idl:
1614
1615 2011-04-26  Mihai Parparita  <mihaip@chromium.org>
1616
1617         Reviewed by Eric Seidel.
1618
1619         InlineBox.h shouldn't include RenderBR.h
1620         https://bugs.webkit.org/show_bug.cgi?id=59480
1621
1622         Per bug 59348 RenderBR.h is a "top header" by include * size, because
1623         InlineBox.h includes it. There's no reason why it has to.
1624
1625         * rendering/InlineBox.h:
1626         * rendering/InlineTextBox.cpp:
1627         * rendering/RenderBlock.h:
1628
1629 2011-04-26  Sam Weinig  <sam@webkit.org>
1630
1631         Nope, roll out r84950 and r84952. Working on a laptop is clearly not something
1632         I should do.
1633
1634         * bindings/js/JSDOMBinding.h:
1635         (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
1636         (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext):
1637         (WebCore::JSDOMWrapperWithGlobalPointer::createStructure):
1638         (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
1639         (WebCore::DOMConstructorObject::DOMConstructorObject):
1640         * bindings/js/JSDOMWrapper.h:
1641         (WebCore::JSDOMWrapper::JSDOMWrapper):
1642         * bindings/scripts/CodeGeneratorJS.pm:
1643
1644 2011-04-26  Sam Weinig  <sam@webkit.org>
1645
1646         Fix build.
1647
1648         * bindings/js/JSDOMWrapper.h:
1649         (WebCore::JSDOMWrapper::globalObject):
1650
1651 2011-04-26  Sam Weinig  <sam@webkit.org>
1652
1653         Roll r84945 back in with infinite recursion removed.
1654
1655         * bindings/js/JSDOMBinding.h:
1656         (WebCore::DOMConstructorObject::DOMConstructorObject):
1657         * bindings/js/JSDOMWrapper.h:
1658         (WebCore::JSDOMWrapper::globalObject):
1659         (WebCore::JSDOMWrapper::scriptExecutionContext):
1660         (WebCore::JSDOMWrapper::createStructure):
1661         (WebCore::JSDOMWrapper::JSDOMWrapper):
1662         * bindings/scripts/CodeGeneratorJS.pm:
1663
1664 2011-04-26  Sam Weinig  <sam@webkit.org>
1665
1666         Rollout previous patch. It broke stuff.
1667
1668         * bindings/js/JSDOMBinding.h:
1669         (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
1670         (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext):
1671         (WebCore::JSDOMWrapperWithGlobalPointer::createStructure):
1672         (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
1673         (WebCore::DOMConstructorObject::DOMConstructorObject):
1674         * bindings/js/JSDOMWrapper.h:
1675         (WebCore::JSDOMWrapper::JSDOMWrapper):
1676         * bindings/scripts/CodeGeneratorJS.pm:
1677
1678 2011-04-26  Sam Weinig  <sam@webkit.org>
1679
1680         Reviewed by Maciej Stachowiak.
1681
1682         Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects
1683         https://bugs.webkit.org/show_bug.cgi?id=59310
1684
1685         * bindings/js/JSDOMBinding.h:
1686         (WebCore::DOMConstructorObject::DOMConstructorObject):
1687         * bindings/js/JSDOMWrapper.h:
1688         (WebCore::JSDOMWrapper::globalObject):
1689         (WebCore::JSDOMWrapper::scriptExecutionContext):
1690         (WebCore::JSDOMWrapper::createStructure):
1691         (WebCore::JSDOMWrapper::JSDOMWrapper):
1692         Merge JSDOMWrapperWithGlobalPointer with JSDOMWrapper.
1693
1694         * bindings/scripts/CodeGeneratorJS.pm:
1695         Make JSDOMWrapper the base class.
1696
1697 2011-04-26  Dan Bernstein  <mitz@apple.com>
1698
1699         Reviewed by Mark Rowe.
1700
1701         Choose the compiler based on the Xcode version for Snow Leopard debug builds.
1702
1703         * Configurations/Base.xcconfig:
1704         * Configurations/CompilerVersion.xcconfig: Added.
1705
1706 2011-04-26  Adrienne Walker  <enne@google.com>
1707
1708         Reviewed by Geoffrey Garen.
1709
1710         Use OwnArrayPtr<T> instead of OwnPtr<T*> in ScopeTracer
1711         https://bugs.webkit.org/show_bug.cgi?id=59469
1712
1713         * platform/chromium/TraceEvent.h:
1714         (WebCore::internal::ScopeTracer::ScopeTracer):
1715
1716 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
1717
1718         Reviewed by Oliver Hunt.
1719
1720         Nixed special finalizer handling for WebCore strings
1721         https://bugs.webkit.org/show_bug.cgi?id=59425
1722
1723         Not needed anymore, since weak handles have finalizers.
1724
1725         * WebCore.exp.in: Exports!
1726
1727         * bindings/js/DOMWrapperWorld.cpp:
1728         (WebCore::JSStringOwner::finalize):
1729         (WebCore::DOMWrapperWorld::DOMWrapperWorld): Use a weak handle finalizer,
1730         so we don't need special treatment anymore.
1731
1732         * bindings/js/DOMWrapperWorld.h:
1733         (WebCore::JSStringOwner::JSStringOwner):
1734         (WebCore::DOMWrapperWorld::stringWrapperOwner): Use a HashMap of Weak<T>
1735         instead of a WeakGCMap, so we can specify a custom finalizer.
1736
1737         * bindings/js/JSDOMBinding.cpp:
1738         (WebCore::jsStringSlowCase):
1739         * bindings/js/JSDOMBinding.h:
1740         (WebCore::jsString): Updated for string map change.
1741
1742 2011-04-26  David Kilzer  <ddkilzer@apple.com>
1743
1744         <http://webkit.org/b/59372> Restore user default for enabling HTTP pipelining
1745
1746         Reviewed by Antti Koivisto.
1747
1748         To enable HTTP pipelining post-SnowLeopard, use this command:
1749
1750             defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
1751
1752         * platform/network/cf/ResourceRequestCFNet.cpp:
1753         (WebCore::readBooleanPreference): Re-added.  Originally added in
1754         r76756 and removed in r84120.
1755         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Enable
1756         HTTP pipelining if use default is set to true.  Added macro
1757         guards to match those in ResourceRequestMac.mm.
1758
1759 2011-04-26  Antti Koivisto  <antti@apple.com>
1760
1761         Reviewed by Adele Peterson.
1762
1763         Don't strip fragments from file: urls in memory cache
1764         https://bugs.webkit.org/show_bug.cgi?id=59463
1765         <rdar://problem/9231130>
1766
1767         Some clients expect file: resources to be unique based on fragment identifier. 
1768         Limit the changes in http://trac.webkit.org/changeset/74107 to the HTTP protocol only
1769
1770         Test: fast/loader/file-protocol-fragment.html
1771
1772         * loader/cache/MemoryCache.cpp:
1773         (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
1774
1775 2011-04-26  David Levin  <levin@chromium.org>
1776
1777         Reviewed by Darin Adler.
1778
1779         Fix more strict OwnPtr in WebCore (round N).
1780         https://bugs.webkit.org/show_bug.cgi?id=59464
1781
1782         * dom/Document.cpp:
1783         (WebCore::Document::Document):
1784         (WebCore::Document::attach):
1785         * fileapi/FileReader.cpp:
1786         (WebCore::FileReader::terminate):
1787         * loader/DocumentThreadableLoader.cpp:
1788         (WebCore::DocumentThreadableLoader::preflightFailure):
1789         * workers/DefaultSharedWorkerRepository.cpp:
1790         (WebCore::SharedWorkerConnectTask::create):
1791         (WebCore::SharedWorkerScriptLoader::load):
1792
1793 2011-04-26  Ruben  <chromium@hybridsource.org>
1794
1795         Reviewed by Tony Chang.
1796
1797         Change linux ifdefs for Chromium to Unix instead, allowing
1798         new Unix ports to be enabled by default
1799         https://bugs.webkit.org/show_bug.cgi?id=59297
1800
1801         No new tests, just changing preprocessor defines.
1802
1803         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1804         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1805         * dom/SelectElement.cpp:
1806         * loader/cache/CachedFont.cpp:
1807         * page/EventHandler.cpp:
1808         * page/chromium/EventHandlerChromium.cpp:
1809         * platform/Scrollbar.cpp:
1810         * platform/chromium/PlatformBridge.h:
1811         * platform/graphics/chromium/FontPlatformData.h:
1812         * platform/graphics/skia/FontCustomPlatformData.cpp:
1813         * platform/graphics/skia/FontCustomPlatformData.h:
1814
1815 2011-04-26  Ryosuke Niwa  <rniwa@webkit.org>
1816
1817         Reviewed by Dan Bernstein.
1818
1819         [RTL] Arabic/AB - after typing a date, cursors doesn't go back
1820         https://bugs.webkit.org/show_bug.cgi?id=49111
1821
1822         Even when the offset corresponds to a position visually left of the box
1823         and there aren't any inline boxes on the left, the previous/next position
1824         may still correspond to some position in the same line.
1825
1826         The bug was caused by our ignoring such cases. Fixed the bug by comparing
1827         previous/next position's inline box to the current box. If they match,
1828         then we stay on the same position because moving to the left visually at
1829         the left edge should not result in a position on the same line.
1830
1831         Also fixed a bug that WebKit uses offsets that are not extrema when moved to
1832         the left edge or to the right edge, and a bug that WebKit could not move to
1833         the left from 12^3 CBA abc to 123 C^BA abc (there is no offset between 3 and C).
1834
1835         Test cases are added to editing/selection/move-left-right.html
1836
1837         * editing/VisiblePosition.cpp:
1838         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
1839         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
1840
1841 2011-04-26  Gabor Loki  <loki@webkit.org>
1842
1843         Reviewed by Csaba Osztrogon√°c.
1844
1845         Speeding up SVG filters with multicore (SMP) support
1846         https://bugs.webkit.org/show_bug.cgi?id=43903
1847
1848         Some SVG filters execute a huge number of pixel manipulations, which
1849         cannot be sped up by graphics accelerators, since their algorithm is
1850         too complex. Using the power of Symmetric Multi Processing (SMP) we
1851         can split up a task to smaller (data independent) tasks, which can be
1852         executed independently.
1853
1854         The ParallelJobs framework provides a simple way for distributed
1855         programming. The framework is based on WebKit's threading infrastructure,
1856         Open Multi-Processing's (OpenMP) API, and libdispatch API.
1857
1858         * ForwardingHeaders/wtf/ParallelJobs.h: Added.
1859         * platform/graphics/filters/FETurbulence.cpp:
1860         (WebCore::FETurbulence::PaintingData::PaintingData):
1861         (WebCore::FETurbulence::noise2D):
1862         (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
1863         (WebCore::FETurbulence::fillRegion):
1864         (WebCore::FETurbulence::fillRegionWorker):
1865         (WebCore::FETurbulence::apply):
1866         * platform/graphics/filters/FETurbulence.h:
1867
1868 2011-04-26  Pavel Feldman  <pfeldman@google.com>
1869
1870         Reviewed by Yury Semikhatsky.
1871
1872         Web Inspector: close button is off in docked mode on a mac.
1873         https://bugs.webkit.org/show_bug.cgi?id=59453
1874
1875         * inspector/front-end/inspector.css:
1876         (.toolbar-item.close-left):
1877
1878 2011-04-26  Pavel Feldman  <pfeldman@google.com>
1879
1880         Reviewed by Yury Semikhatsky.
1881
1882         Web Inspector: New Style is not working (UI glitch)
1883         https://bugs.webkit.org/show_bug.cgi?id=59451
1884
1885         * inspector/InspectorDOMStorageAgent.cpp:
1886         (WebCore::InspectorDOMStorageAgent::setFrontend):
1887         * inspector/front-end/AuditRules.js:
1888         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
1889         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
1890         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
1891         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
1892         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
1893         * inspector/front-end/CSSStyleModel.js:
1894         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1895         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
1896         (WebInspector.CSSStyleModel.prototype.addRule):
1897         (WebInspector.CSSStyleModel.prototype.addRule.callback):
1898         (WebInspector.CSSStyleModel.prototype._documentElementId):
1899         * inspector/front-end/DOMAgent.js:
1900         (WebInspector.DOMNode.prototype._addAttribute):
1901         (WebInspector.DOMNode.prototype.documentElement):
1902         * inspector/front-end/ResourceTreeModel.js:
1903         (WebInspector.PageDispatcher.prototype.frameDetached):
1904         * inspector/front-end/StylesSidebarPane.js:
1905         (WebInspector.StylesSidebarPane.prototype._createNewRule):
1906
1907 2011-04-26  Pavel Feldman  <pfeldman@google.com>
1908
1909         Reviewed by Yury Semikhatsky.
1910
1911         Web Inspector: introduce DOMStorage::enable and disable.
1912         https://bugs.webkit.org/show_bug.cgi?id=59445
1913
1914         * inspector/Inspector.json:
1915         * inspector/InspectorAgent.cpp:
1916         (WebCore::InspectorAgent::InspectorAgent):
1917         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1918         * inspector/InspectorDOMStorageAgent.cpp:
1919         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
1920         (WebCore::InspectorDOMStorageAgent::restore):
1921         (WebCore::InspectorDOMStorageAgent::enable):
1922         (WebCore::InspectorDOMStorageAgent::disable):
1923         * inspector/InspectorDOMStorageAgent.h:
1924         (WebCore::InspectorDOMStorageAgent::create):
1925         * inspector/front-end/DOMStorage.js:
1926         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
1927         * inspector/front-end/ResourcesPanel.js:
1928         (WebInspector.ResourcesPanel.prototype._reset):
1929         * inspector/front-end/inspector.js:
1930
1931 2011-04-26  Pavel Feldman  <pfeldman@google.com>
1932
1933         Reviewed by Yury Semikhatsky.
1934
1935         Web Inspector: extract Page agent dispatcher into the ResourceTreeModel.
1936         https://bugs.webkit.org/show_bug.cgi?id=59440
1937
1938         * inspector/Inspector.json:
1939         * inspector/InspectorAgent.cpp:
1940         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1941         * inspector/InspectorPageAgent.cpp:
1942         (WebCore::InspectorPageAgent::setFrontend):
1943         (WebCore::InspectorPageAgent::frameNavigated):
1944         * inspector/InspectorPageAgent.h:
1945         * inspector/front-end/AuditsPanel.js:
1946         (WebInspector.AuditsPanel):
1947         (WebInspector.AuditsPanel.prototype._onLoadEventFired):
1948         (WebInspector.AuditsPanel.prototype._domContentLoadedEventFired):
1949         * inspector/front-end/CSSStyleModel.js:
1950         (WebInspector.CSSStyleModelResourceBinding):
1951         (WebInspector.CSSStyleModelResourceBinding.prototype._inspectedURLChanged):
1952         * inspector/front-end/DOMBreakpointsSidebarPane.js:
1953         (WebInspector.DOMBreakpointsSidebarPane):
1954         (WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged):
1955         * inspector/front-end/DOMStorage.js:
1956         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
1957         * inspector/front-end/ExtensionServer.js:
1958         (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
1959         (WebInspector.ExtensionServer.prototype.initExtensions):
1960         * inspector/front-end/NetworkPanel.js:
1961         (WebInspector.NetworkPanel):
1962         (WebInspector.NetworkPanel.prototype._onLoadEventFired):
1963         (WebInspector.NetworkPanel.prototype._domContentLoadedEventFired):
1964         (WebInspector.NetworkPanel.prototype._frameNavigated):
1965         * inspector/front-end/ResourceTreeModel.js:
1966         (WebInspector.ResourceTreeModel):
1967         (WebInspector.ResourceTreeModel.prototype._processCachedResources):
1968         (WebInspector.ResourceTreeModel.prototype._dispatchInspectedURLChanged):
1969         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
1970         (WebInspector.ResourceTreeModel.prototype._frameDetached):
1971         (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
1972         (WebInspector.PageDispatcher):
1973         (WebInspector.PageDispatcher.prototype.domContentEventFired):
1974         (WebInspector.PageDispatcher.prototype.loadEventFired):
1975         (WebInspector.PageDispatcher.prototype.frameNavigated):
1976         (WebInspector.PageDispatcher.prototype.frameDetached):
1977         * inspector/front-end/ResourcesPanel.js:
1978         (WebInspector.ResourcesPanel):
1979         (WebInspector.ResourcesPanel.prototype._onLoadEventFired):
1980         (WebInspector.ResourcesPanel.prototype._frameNavigated):
1981         * inspector/front-end/inspector.js:
1982
1983 2011-04-26  Csaba Osztrogon√°c  <ossy@webkit.org>
1984
1985         Unreviewed rollout r84877 and StyleRareInheritedData.cpp changes of r84892,
1986         because it broke transitions/multiple-text-shadow-transition.html
1987
1988         Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
1989         https://bugs.webkit.org/show_bug.cgi?id=59377
1990
1991         * css/CSSStyleSelector.cpp:
1992         (WebCore::CSSStyleSelector::applyProperty):
1993         * page/animation/AnimationBase.cpp:
1994         (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
1995         (WebCore::PropertyWrapperShadow::blend):
1996         * rendering/style/RenderStyle.cpp:
1997         (WebCore::RenderStyle::setTextShadow):
1998         (WebCore::RenderStyle::setBoxShadow):
1999         * rendering/style/RenderStyle.h:
2000         (WebCore::InheritedFlags::textShadow):
2001         * rendering/style/StyleRareInheritedData.cpp:
2002         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2003         (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
2004         * rendering/style/StyleRareInheritedData.h:
2005         * rendering/style/StyleRareNonInheritedData.cpp:
2006         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2007
2008 2011-04-26  Mihai Parparita  <mihaip@chromium.org>
2009
2010         Reviewed by Adam Barth.
2011
2012         Turn off make built-in implicit rules for derived sources makefile
2013         https://bugs.webkit.org/show_bug.cgi?id=59418
2014
2015         We don't use any of make's built-in implicit rules, turning them off
2016         speeds up parsing of the makefile.
2017
2018         * WebCore.xcodeproj/project.pbxproj:
2019         * gyp/generate-derived-sources.sh:
2020
2021 2011-04-26  Leo Yang  <leo.yang@torchmobile.com.cn>
2022
2023         Reviewed by Nikolas Zimmermann.
2024
2025         ASSERT failure in SVGUseElement
2026         https://bugs.webkit.org/show_bug.cgi?id=59313
2027
2028         In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
2029         was wrong because the document may not be well-formed.
2030
2031         This patch asserts the element is not pending on resource or the
2032         document is not well-formed.
2033
2034         Test: svg/custom/use-crash-in-non-wellformed-document.svg
2035
2036         * svg/SVGUseElement.cpp:
2037         (WebCore::isWellFormedDocument):
2038         (WebCore::SVGUseElement::insertedIntoDocument):
2039
2040 2011-04-26  Mikhail Naganov  <mnaganov@chromium.org>
2041
2042         Reviewed by Pavel Feldman.
2043
2044         Web Inspector: [Chromium] Fix columns resizing in the detailed heap snapshot grids.
2045         https://bugs.webkit.org/show_bug.cgi?id=59438
2046
2047         * inspector/front-end/DetailedHeapshotView.js:
2048         (WebInspector.DetailedHeapshotView.prototype._changeView):
2049
2050 2011-04-26  David Levin  <levin@chromium.org>
2051
2052         Reviewed by Adam Barth.
2053
2054         Fix a few OwnPtr strict errors in WebCore headers.
2055         https://bugs.webkit.org/show_bug.cgi?id=59431
2056
2057         * bindings/js/ScheduledAction.cpp:
2058         (WebCore::ScheduledAction::create):
2059         * css/MediaQueryMatcher.cpp:
2060         (WebCore::MediaQueryMatcher::prepareEvaluator):
2061         * dom/NodeRareData.h:
2062         (WebCore::NodeListsNodeData::create):
2063         * dom/ScriptRunner.h:
2064         (WebCore::ScriptRunner::create):
2065         * inspector/WorkerInspectorController.cpp:
2066         (WebCore::WorkerInspectorController::connectFrontend):
2067         * loader/icon/IconDatabase.h:
2068         (WebCore::IconDatabase::create):
2069         * platform/graphics/SimpleFontData.cpp:
2070         (WebCore::SimpleFontData::verticalRightOrientationFontData):
2071         (WebCore::SimpleFontData::uprightOrientationFontData):
2072         (WebCore::SimpleFontData::brokenIdeographFontData):
2073         * rendering/style/StyleRareInheritedData.cpp:
2074         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2075         * rendering/svg/SVGResources.h:
2076         (WebCore::SVGResources::ClipperFilterMaskerData::create):
2077         (WebCore::SVGResources::MarkerData::create):
2078         (WebCore::SVGResources::FillStrokeData::create):
2079         * storage/StorageSyncManager.cpp:
2080         (WebCore::StorageSyncManager::close):
2081         * workers/WorkerContext.cpp:
2082         (WebCore::CloseWorkerContextTask::create):
2083         * workers/WorkerMessagingProxy.cpp:
2084         (WebCore::MessageWorkerContextTask::create):
2085         (WebCore::MessageWorkerTask::create):
2086         (WebCore::WorkerExceptionTask::create):
2087         (WebCore::WorkerContextDestroyedTask::create):
2088         (WebCore::WorkerTerminateTask::create):
2089         (WebCore::WorkerThreadActivityReportTask::create):
2090         * workers/WorkerRunLoop.cpp:
2091         (WebCore::WorkerRunLoop::Task::create):
2092         * workers/WorkerThread.cpp:
2093         (WebCore::WorkerThreadStartupData::create):
2094         (WebCore::WorkerThreadShutdownFinishTask::create):
2095         (WebCore::WorkerThreadShutdownStartTask::create):
2096
2097 2011-04-26  Adam Klein  <adamk@chromium.org>
2098
2099         Reviewed by Adam Barth.
2100
2101         Fix last strict OwnPtr violation under svg/...
2102         https://bugs.webkit.org/show_bug.cgi?id=59429
2103
2104         * svg/SVGDocumentExtensions.cpp:
2105         (WebCore::SVGDocumentExtensions::removePendingResource):
2106
2107 2011-04-26  Adam Barth  <abarth@webkit.org>
2108
2109         Reviewed by David Levin.
2110
2111         Fix more strict OwnPtr violations in WebCore
2112         https://bugs.webkit.org/show_bug.cgi?id=59433
2113
2114         These manifest in the Chromium build.
2115
2116         * bindings/v8/ScriptController.cpp:
2117         (WebCore::ScriptController::ScriptController):
2118         * bindings/v8/ScriptDebugServer.cpp:
2119         (WebCore::ScriptDebugServer::editScriptSource):
2120         * bindings/v8/V8DOMMap.cpp:
2121         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
2122         * bindings/v8/V8Proxy.cpp:
2123         (WebCore::V8Proxy::precompileScript):
2124         * bindings/v8/WorkerScriptController.cpp:
2125         (WebCore::WorkerScriptController::WorkerScriptController):
2126         * page/Page.cpp:
2127         (WebCore::Page::Page):
2128         (WebCore::Page::speechInput):
2129         * platform/PlatformGestureRecognizer.cpp:
2130         (WebCore::PlatformGestureRecognizer::create):
2131         * platform/PlatformGestureRecognizer.h:
2132         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2133         (WebCore::DrawingBuffer::DrawingBuffer):
2134         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2135         (WebCore::CCLayerImpl::CCLayerImpl):
2136         * platform/graphics/gpu/Texture.cpp:
2137         (WebCore::Texture::create):
2138         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2139         (WebCore::BMPImageDecoder::decodeHelper):
2140         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2141         (WebCore::GIFImageDecoder::decode):
2142         * platform/image-decoders/ico/ICOImageDecoder.cpp:
2143         (WebCore::ICOImageDecoder::decodeAtIndex):
2144         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2145         (WebCore::JPEGImageDecoder::decode):
2146         * platform/image-decoders/png/PNGImageDecoder.cpp:
2147         (WebCore::PNGImageDecoder::decode):
2148         * storage/chromium/DatabaseTrackerChromium.cpp:
2149         (WebCore::DatabaseTracker::addOpenDatabase):
2150
2151 2011-04-25  David Levin  <levin@chromium.org>
2152
2153         Reviewed by Adam Barth.
2154
2155         Fix OwnPtr strict errors in CrossThreadTask.h
2156         https://bugs.webkit.org/show_bug.cgi?id=59427
2157
2158         * dom/CrossThreadTask.h:
2159         (WebCore::CrossThreadTask1::create):
2160         (WebCore::CrossThreadTask2::create):
2161         (WebCore::CrossThreadTask3::create):
2162         (WebCore::CrossThreadTask4::create):
2163         (WebCore::CrossThreadTask5::create):
2164         (WebCore::CrossThreadTask6::create):
2165         (WebCore::CrossThreadTask7::create):
2166         (WebCore::CrossThreadTask8::create):
2167
2168 2011-04-25  Mark Rowe  <mrowe@apple.com>
2169
2170         Reviewed by Dan Bernstein.
2171
2172         <rdar://problem/9330337> Leak of 'WebCore::ApplyPropertyFillLayer<WebCore::FillSize>'
2173
2174         * css/CSSStyleApplyProperty.cpp:
2175         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Don't initialize CSSPropertyWebkitMaskSize twice.
2176         * css/CSSStyleApplyProperty.h:
2177         (WebCore::CSSStyleApplyProperty::setPropertyValue): Add some asserts to catch this class of leak.
2178
2179 2011-04-25  Levi Weintraub  <leviw@chromium.org>
2180
2181         Reviewed by Ryosuke Niwa.
2182
2183         REGRESSION: a character appears after tab span when typing immediately before the tab span
2184         https://bugs.webkit.org/show_bug.cgi?id=58132
2185
2186         Correcting the order of operations we use to avoid inserting into invalid positions in
2187         ReplaceSelectionCommand to avoid inserting into tab-spans.
2188
2189         Test: editing/pasteboard/paste-before-tab-span.html
2190
2191         * editing/ReplaceSelectionCommand.cpp:
2192         (WebCore::ReplaceSelectionCommand::doApply): Moving positionOutsideTabSpan to after
2193         positionAvoidingPrecedingNodes, since that function could once again put our position
2194         inside a tab span.
2195
2196 2011-04-25  David Levin  <levin@chromium.org>
2197
2198         Reviewed by Adam Barth.
2199
2200         Fix OwnPtr strict error in ImageBuffer.h
2201         https://bugs.webkit.org/show_bug.cgi?id=59422
2202
2203         * platform/graphics/ImageBuffer.h:
2204         (WebCore::ImageBuffer::create):
2205
2206 2011-04-25  Adam Barth  <abarth@webkit.org>
2207
2208         Reviewed by David Levin.
2209
2210         Fix strict OwnPtr violations and whitelist known-tricky files
2211         https://bugs.webkit.org/show_bug.cgi?id=59421
2212
2213         With this patch, WebCore builds cleanly with strict OwnPtrs.
2214
2215         * dom/MessagePort.cpp:
2216         (WebCore::MessagePort::MessagePort):
2217         * dom/XMLDocumentParserLibxml2.cpp:
2218         * page/ContextMenuController.cpp:
2219         (WebCore::ContextMenuController::ContextMenuController):
2220         (WebCore::ContextMenuController::clearContextMenu):
2221         * page/PluginHalter.cpp:
2222         * platform/graphics/MediaPlayer.cpp:
2223         * platform/network/ResourceRequestBase.cpp:
2224         (WebCore::ResourceRequestBase::adopt):
2225         (WebCore::ResourceRequestBase::copyData):
2226         * svg/SVGDocumentExtensions.cpp:
2227
2228 2011-04-25  David Levin  <levin@chromium.org>
2229
2230         Reviewed by Adam Barth.
2231
2232         Fix OwnPtr strict errors in DatasetDOMStringMap.h.
2233         https://bugs.webkit.org/show_bug.cgi?id=59419
2234
2235         * dom/DatasetDOMStringMap.h:
2236         (WebCore::DatasetDOMStringMap::create):
2237
2238 2011-04-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2239
2240         Reviewed by Eric Seidel.
2241
2242         KeyboardEvent.cpp should work with strict OwnPtrs.
2243         https://bugs.webkit.org/show_bug.cgi?id=59403
2244
2245         * dom/KeyboardEvent.cpp:
2246         (WebCore::KeyboardEvent::KeyboardEvent):
2247
2248 2011-04-25  James Robinson  <jamesr@chromium.org>
2249
2250         Reviewed by Eric Seidel.
2251
2252         Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
2253         https://bugs.webkit.org/show_bug.cgi?id=59377
2254
2255         * css/CSSStyleSelector.cpp:
2256         (WebCore::CSSStyleSelector::applyProperty):
2257         * page/animation/AnimationBase.cpp:
2258         (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
2259         (WebCore::PropertyWrapperShadow::blend):
2260         * rendering/style/RenderStyle.cpp:
2261         (WebCore::RenderStyle::setTextShadow):
2262         (WebCore::RenderStyle::setBoxShadow):
2263         * rendering/style/RenderStyle.h:
2264         (WebCore::InheritedFlags::textShadow):
2265         * rendering/style/StyleRareInheritedData.cpp:
2266         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2267         (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
2268         * rendering/style/StyleRareInheritedData.h:
2269         * rendering/style/StyleRareNonInheritedData.cpp:
2270         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2271
2272 2011-04-25  Sheriff Bot  <webkit.review.bot@gmail.com>
2273
2274         Unreviewed, rolling out r84864.
2275         http://trac.webkit.org/changeset/84864
2276         https://bugs.webkit.org/show_bug.cgi?id=59413
2277
2278         Expect result of use-crash-in-non-wellformed-document.svg is
2279         platform dependent (Requested by leoyang on #webkit).
2280
2281         * svg/SVGUseElement.cpp:
2282         (WebCore::SVGUseElement::insertedIntoDocument):
2283
2284 2011-04-25  Leo Yang  <leo.yang@torchmobile.com.cn>
2285
2286         Reviewed by Nikolas Zimmermann.
2287
2288         ASSERT failure in SVGUseElement
2289         https://bugs.webkit.org/show_bug.cgi?id=59313
2290
2291         In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
2292         was wrong because the document may not be well-formed.
2293
2294         This patch asserts the element is not pending on resource or the
2295         document is not well-formed.
2296
2297         Test: svg/custom/use-crash-in-non-wellformed-document.svg
2298
2299         * svg/SVGUseElement.cpp:
2300         (WebCore::isWellFormedDocument):
2301         (WebCore::SVGUseElement::insertedIntoDocument):
2302
2303 2011-04-25  Igor Oliveira  <igor.oliveira@openbossa.org>
2304
2305         Reviewed by Tony Chang.
2306
2307         Move complexity from DataTransferItemsChromium and DataTransferItemChromium for base class
2308         https://bugs.webkit.org/show_bug.cgi?id=59028
2309
2310         The DataTransferItemsChromium and DataTransferItemChromium code can be reused by other platforms.
2311         Moving the code for base class we can reduce the efforts to support DataTransferItems
2312         element in different platforms.
2313
2314         * Android.mk:
2315         * CMakeLists.txt:
2316         * GNUmakefile.list.am:
2317         * WebCore.gypi:
2318         * WebCore.pro:
2319         * WebCore.vcproj/WebCore.vcproj:
2320         * WebCore.xcodeproj/project.pbxproj:
2321         * dom/DataTransferItem.cpp:
2322         (WebCore::DataTransferItem::DataTransferItem):
2323         (WebCore::DataTransferItem::owner):
2324         (WebCore::DataTransferItem::kind):
2325         (WebCore::DataTransferItem::type):
2326         * dom/DataTransferItem.h:
2327         * dom/DataTransferItems.cpp: Copied from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
2328         (WebCore::DataTransferItems::DataTransferItems):
2329         (WebCore::DataTransferItems::length):
2330         (WebCore::DataTransferItems::item):
2331         (WebCore::DataTransferItems::deleteItem):
2332         (WebCore::DataTransferItems::clear):
2333         (WebCore::DataTransferItems::add):
2334         * dom/DataTransferItems.h:
2335         * platform/chromium/DataTransferItemChromium.cpp:
2336         (WebCore::DataTransferItem::create):
2337         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
2338         (WebCore::DataTransferItemChromium::getAsString):
2339         (WebCore::DataTransferItemChromium::getAsFile):
2340         * platform/chromium/DataTransferItemChromium.h:
2341         * platform/chromium/DataTransferItemsChromium.cpp:
2342         (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
2343         * platform/chromium/DataTransferItemsChromium.h:
2344
2345 2011-04-25  Chris Marrin  <cmarrin@apple.com>
2346
2347         Reviewed by Simon Fraser.
2348
2349         REGRESSION(75137): directly composited images are double-drawn sometimes
2350         https://bugs.webkit.org/show_bug.cgi?id=58632
2351
2352         Depending on the order of operations (layout, creating compositing 
2353         layers and creating simple image layers) a layer can have both image
2354         content and have m_drawsContent=true. In this case 2 copies of the image
2355         are drawn in the layer. If the image has alpha, it looks wrong.
2356
2357         I added an updateDrawsContent() call after setting the image contents
2358         to make sure it's correct.
2359
2360         I couldn't create a test case that shows the problem because layerTreeAsText()
2361         doesn't emit enough info to show this level of detail. I've opened
2362         https://bugs.webkit.org/show_bug.cgi?id=59352 to fix that.
2363
2364         * rendering/RenderLayerBacking.cpp:
2365         (WebCore::RenderLayerBacking::updateImageContents):
2366
2367 2011-04-25  Kenneth Russell  <kbr@google.com>
2368
2369         Reviewed by David Levin.
2370
2371         Fix OwnPtr strict errors in InlineFlowBox.cpp
2372         https://bugs.webkit.org/show_bug.cgi?id=59392
2373
2374         * rendering/InlineFlowBox.cpp:
2375         (WebCore::InlineFlowBox::setLayoutOverflow):
2376         (WebCore::InlineFlowBox::setVisualOverflow):
2377
2378 2011-04-25  Kenneth Russell  <kbr@google.com>
2379
2380         Reviewed by David Levin.
2381
2382         Fix OwnPtr strict errors in TransformState.cpp
2383         https://bugs.webkit.org/show_bug.cgi?id=59380
2384
2385         * rendering/TransformState.cpp:
2386         (WebCore::TransformState::applyTransform):
2387
2388 2011-04-25  Adam Barth  <abarth@webkit.org>
2389
2390         Reviewed by James Robinson.
2391
2392         DOMWindow.cpp should work with strict OwnPtrs
2393         https://bugs.webkit.org/show_bug.cgi?id=59356
2394
2395         * page/DOMWindow.cpp:
2396         (WebCore::PostMessageTimer::fired):
2397         (WebCore::DOMWindow::postMessageTimerFired):
2398         * page/DOMWindow.h:
2399
2400 2011-04-25  Adam Klein  <adamk@chromium.org>
2401
2402         Reviewed by James Robinson.
2403
2404         Fix OwnPtr strict errors in some SVG classes.
2405         https://bugs.webkit.org/show_bug.cgi?id=59395
2406
2407         * rendering/style/SVGRenderStyleDefs.cpp:
2408         (WebCore::StyleShadowSVGData::StyleShadowSVGData):
2409         * svg/SVGSVGElement.cpp:
2410         (WebCore::SVGSVGElement::SVGSVGElement):
2411         * svg/SVGStyledTransformableElement.cpp:
2412         (WebCore::SVGStyledTransformableElement::supplementalTransform):
2413         * svg/SVGTextElement.cpp:
2414         (WebCore::SVGTextElement::supplementalTransform):
2415         * svg/graphics/SVGImage.cpp:
2416         (WebCore::SVGImage::dataChanged):
2417
2418 2011-04-25  Adam Barth  <abarth@webkit.org>
2419
2420         Re-land changes to ValidationMessage.
2421
2422         * html/ValidationMessage.cpp:
2423         (WebCore::ValidationMessage::setMessage):
2424         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
2425         (WebCore::ValidationMessage::requestToHideMessage):
2426
2427 2011-04-25  Ojan Vafai  <ojan@chromium.org>
2428
2429         Reviewed by James Robinson.
2430
2431         fix OwnPtr strict error in FrameView.cpp
2432         https://bugs.webkit.org/show_bug.cgi?id=59402
2433
2434         * page/FrameView.cpp:
2435         (WebCore::FrameView::FrameView):
2436         (WebCore::FrameView::addWidgetToUpdate):
2437
2438 2011-04-25  Adam Klein  <adamk@chromium.org>
2439
2440         Unreviewed, rolling out r84844.
2441         http://trac.webkit.org/changeset/84844
2442         https://bugs.webkit.org/show_bug.cgi?id=59395
2443
2444         Checked in too much.
2445
2446         * rendering/style/SVGRenderStyleDefs.cpp:
2447         (WebCore::StyleShadowSVGData::StyleShadowSVGData):
2448         * svg/SVGDocumentExtensions.cpp:
2449         (WebCore::SVGDocumentExtensions::removePendingResource):
2450         * svg/SVGSVGElement.cpp:
2451         (WebCore::SVGSVGElement::SVGSVGElement):
2452         * svg/SVGStyledTransformableElement.cpp:
2453         (WebCore::SVGStyledTransformableElement::supplementalTransform):
2454         * svg/SVGTextElement.cpp:
2455         (WebCore::SVGTextElement::supplementalTransform):
2456         * svg/graphics/SVGImage.cpp:
2457         (WebCore::SVGImage::dataChanged):
2458
2459 2011-04-25  Adrienne Walker  <enne@google.com>
2460
2461         Reviewed by David Levin.
2462
2463         Make ActiveDOMCallback play nice with OwnPtr strict mode
2464         https://bugs.webkit.org/show_bug.cgi?id=59398
2465
2466         * bindings/generic/ActiveDOMCallback.cpp:
2467         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
2468
2469 2011-04-25  Adam Klein  <adamk@chromium.org>
2470
2471         Reviewed by James Robinson.
2472
2473         Fix OwnPtr strict errors in some SVG classes.
2474         https://bugs.webkit.org/show_bug.cgi?id=59395
2475
2476         * rendering/style/SVGRenderStyleDefs.cpp:
2477         (WebCore::StyleShadowSVGData::StyleShadowSVGData):
2478         * svg/SVGSVGElement.cpp:
2479         (WebCore::SVGSVGElement::SVGSVGElement):
2480         * svg/SVGStyledTransformableElement.cpp:
2481         (WebCore::SVGStyledTransformableElement::supplementalTransform):
2482         * svg/SVGTextElement.cpp:
2483         (WebCore::SVGTextElement::supplementalTransform):
2484         * svg/graphics/SVGImage.cpp:
2485         (WebCore::SVGImage::dataChanged):
2486
2487 2011-04-25  James Robinson  <jamesr@chromium.org>
2488
2489         Unreviewed, rolling out r84835.
2490         http://trac.webkit.org/changeset/84835
2491         https://bugs.webkit.org/show_bug.cgi?id=59394
2492
2493         Breaks compile because Deque<OwnPtr> doesn't work
2494
2495         * dom/XMLDocumentParserLibxml2.cpp:
2496         (WebCore::PendingCallbacks::~PendingCallbacks):
2497         (WebCore::PendingCallbacks::appendStartElementNSCallback):
2498         (WebCore::PendingCallbacks::appendEndElementNSCallback):
2499         (WebCore::PendingCallbacks::appendCharactersCallback):
2500         (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
2501         (WebCore::PendingCallbacks::appendCDATABlockCallback):
2502         (WebCore::PendingCallbacks::appendCommentCallback):
2503         (WebCore::PendingCallbacks::appendInternalSubsetCallback):
2504         (WebCore::PendingCallbacks::appendErrorCallback):
2505         (WebCore::XMLDocumentParser::XMLDocumentParser):
2506         * html/ValidationMessage.cpp:
2507         (WebCore::ValidationMessage::setMessage):
2508         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
2509         (WebCore::ValidationMessage::requestToHideMessage):
2510
2511 2011-04-25  James Robinson  <jamesr@chromium.org>
2512
2513         Reviewed by Sam Weinig.
2514
2515         Fix OwnPtr strict mode violation in ImageBufferCG
2516         https://bugs.webkit.org/show_bug.cgi?id=59396
2517
2518         * platform/graphics/cg/ImageBufferCG.cpp:
2519         (WebCore::ImageBuffer::ImageBuffer):
2520
2521 2011-04-25  Huang Dongsung  <luxtella@company100.net>
2522
2523         Reviewed by Dirk Schulze.
2524
2525         [Skia] Remove an unused local variable in PlatformContextSkia::readbackHardwareToSoftware().
2526         https://bugs.webkit.org/show_bug.cgi?id=59308
2527
2528         An unused local variable is created and even allocates heap memory.
2529
2530         * platform/graphics/skia/PlatformContextSkia.cpp:
2531         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
2532
2533 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
2534
2535         Qt build fix: Updated files not used by other ports for rename.
2536
2537         * bindings/js/JSTouchCustom.cpp:
2538         (WebCore::toJSNewlyCreated):
2539         * bindings/js/JSTouchListCustom.cpp:
2540         (WebCore::toJSNewlyCreated):
2541
2542 2011-04-25  Adrienne Walker  <enne@google.com>
2543
2544         Reviewed by David Levin.
2545
2546         WebCore/css/CSS* files should play nice with strict OwnPtrs
2547         https://bugs.webkit.org/show_bug.cgi?id=59382
2548
2549         * css/CSSFontFaceSource.cpp:
2550         (WebCore::CSSFontFaceSource::getFontData):
2551         * css/CSSParser.cpp:
2552         (WebCore::CSSParser::addProperty):
2553         (WebCore::CSSParser::parseValue):
2554
2555 2011-04-25  Adam Barth  <abarth@webkit.org>
2556
2557         Reviewed by James Robinson.
2558
2559         ValidationMessage and XMLDocumentParserLibxml2 should play nice with strict OwnPtrs
2560         https://bugs.webkit.org/show_bug.cgi?id=59394
2561
2562         * dom/XMLDocumentParserLibxml2.cpp:
2563         (WebCore::PendingCallbacks::PendingCallbacks):
2564         (WebCore::PendingCallbacks::appendStartElementNSCallback):
2565         (WebCore::PendingCallbacks::appendEndElementNSCallback):
2566         (WebCore::PendingCallbacks::appendCharactersCallback):
2567         (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
2568         (WebCore::PendingCallbacks::appendCDATABlockCallback):
2569         (WebCore::PendingCallbacks::appendCommentCallback):
2570         (WebCore::PendingCallbacks::appendInternalSubsetCallback):
2571         (WebCore::PendingCallbacks::appendErrorCallback):
2572         (WebCore::XMLDocumentParser::XMLDocumentParser):
2573         * html/ValidationMessage.cpp:
2574         (WebCore::ValidationMessage::setMessage):
2575         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
2576         (WebCore::ValidationMessage::requestToHideMessage):
2577
2578 2011-04-25  James Robinson  <jamesr@chromium.org>
2579
2580         Reviewed by Adam Barth.
2581
2582         Fix OwnPtr strictness issues in WebCore/inspector/
2583         https://bugs.webkit.org/show_bug.cgi?id=59387
2584
2585         * inspector/InspectorAgent.cpp:
2586         (WebCore::InspectorAgent::InspectorAgent):
2587         * inspector/InspectorController.cpp:
2588         (WebCore::InspectorController::InspectorController):
2589         * inspector/InspectorStyleSheet.cpp:
2590         (WebCore::InspectorStyleSheet::ensureSourceData):
2591
2592 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
2593
2594         Reviewed by Beth Dakin.
2595
2596         Removed XPathNamespace because it was unused
2597         https://bugs.webkit.org/show_bug.cgi?id=59381
2598         
2599         This allows us to make Node::ownerDocument() non-virtual, though it has
2600         the unhappy side-effect of rebuilding the world.
2601
2602         * CMakeLists.txt:
2603         * GNUmakefile.list.am:
2604         * WebCore.gypi:
2605         * WebCore.pro:
2606         * WebCore.vcproj/WebCore.vcproj:
2607         * WebCore.xcodeproj/project.pbxproj: Bye bye dead code.
2608
2609         * dom/Node.h: Hello fast code!
2610
2611         * xml/XPathNamespace.cpp: Removed.
2612         * xml/XPathNamespace.h: Removed.
2613
2614 2011-04-25  Adam Barth  <abarth@webkit.org>
2615
2616         Reviewed by Darin Adler.
2617
2618         HistoryItemMac should play nice with OwnPtrs
2619         https://bugs.webkit.org/show_bug.cgi?id=59388
2620
2621         * history/mac/HistoryItemMac.mm:
2622         (WebCore::HistoryItem::setTransientProperty):
2623
2624 2011-04-25  David Levin  <levin@chromium.org>
2625
2626         Reviewed by Kenneth Russell.
2627
2628         Fix strict OwnPtrs in ContextMenuController.cpp
2629         https://bugs.webkit.org/show_bug.cgi?id=59375
2630
2631         * page/ContextMenuController.cpp:
2632         (WebCore::ContextMenuController::createContextMenu):
2633         (WebCore::separatorItem):
2634
2635 2011-04-25  Adam Barth  <abarth@webkit.org>
2636
2637         Reviewed by Darin Adler.
2638
2639         CheckedRadioButton should play nice with strict OwnPtr
2640         https://bugs.webkit.org/show_bug.cgi?id=59386
2641
2642         * dom/CheckedRadioButtons.cpp:
2643         (WebCore::CheckedRadioButtons::addButton):
2644
2645 2011-04-25  Adam Barth  <abarth@webkit.org>
2646
2647         Reviewed by David Levin.
2648
2649         Resource*.cpp should play nice with strict OwnPtrs
2650         https://bugs.webkit.org/show_bug.cgi?id=59383
2651
2652         * bridge/runtime_method.cpp:
2653         (JSC::RuntimeMethod::RuntimeMethod):
2654         * platform/network/ResourceHandle.cpp:
2655         (WebCore::ResourceHandle::ResourceHandle):
2656         * platform/network/ResourceResponseBase.cpp:
2657         (WebCore::ResourceResponseBase::adopt):
2658         (WebCore::ResourceResponseBase::copyData):
2659
2660 2011-04-25  Adam Barth  <abarth@webkit.org>
2661
2662         Reviewed by David Levin.
2663
2664         Page*.cpp and objc_runtime.mm should play nice with strict OwnPtrs
2665         https://bugs.webkit.org/show_bug.cgi?id=59374
2666
2667         * bridge/objc/objc_runtime.mm:
2668         (JSC::Bindings::callObjCFallbackObject):
2669         * page/Page.cpp:
2670         (WebCore::Page::Page):
2671         (WebCore::Page::initGroup):
2672         * page/PageGroup.cpp:
2673         (WebCore::PageGroup::addUserScriptToWorld):
2674         (WebCore::PageGroup::addUserStyleSheetToWorld):
2675         * page/mac/PageMac.cpp:
2676         (WebCore::Page::addSchedulePair):
2677
2678 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
2679
2680         Build fix: This time for sure!
2681         
2682         * dom/make_names.pl:
2683
2684 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
2685
2686         Build fix: Let's edit the script instead of the autogenrated file. That
2687         way, our change will stand the test of time.
2688
2689         * dom/make_names.pl:
2690
2691 2011-04-25  Adam Barth  <abarth@webkit.org>
2692
2693         Reviewed by David Levin.
2694
2695         Fix strict OwnPtrs in HTMLMediaElement and HTTPHeaderMap
2696         https://bugs.webkit.org/show_bug.cgi?id=59368
2697
2698         * html/HTMLMediaElement.cpp:
2699         (WebCore::HTMLMediaElement::HTMLMediaElement):
2700         * platform/network/HTTPHeaderMap.cpp:
2701         (WebCore::HTTPHeaderMap::copyData):
2702
2703 2011-04-25  James Robinson  <jamesr@chromium.org>
2704
2705         Reviewed by Adam Barth.
2706
2707         Fix strict OwnPtr violations in Render*.cpp
2708         https://bugs.webkit.org/show_bug.cgi?id=59361
2709
2710         * rendering/RenderBlock.cpp:
2711         (WebCore::RenderBlock::RenderBlock):
2712         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
2713         * rendering/RenderBox.cpp:
2714         (WebCore::RenderBox::addLayoutOverflow):
2715         (WebCore::RenderBox::addVisualOverflow):
2716         * rendering/RenderButton.cpp:
2717         (WebCore::RenderButton::styleDidChange):
2718         * rendering/RenderLayer.cpp:
2719         (WebCore::RenderLayer::updateTransform):
2720         (WebCore::RenderLayer::paintChildLayerIntoColumns):
2721         (WebCore::RenderLayer::hitTestChildLayerColumns):
2722         (WebCore::RenderLayer::ensureBacking):
2723         * rendering/RenderTable.cpp:
2724         (WebCore::RenderTable::styleDidChange):
2725         * rendering/RenderView.cpp:
2726         (WebCore::RenderView::compositor):
2727         * rendering/style/RenderStyle.cpp:
2728         (WebCore::RenderStyle::addCachedPseudoStyle):
2729         (WebCore::RenderStyle::accessCounterDirectives):
2730         (WebCore::RenderStyle::accessAnimations):
2731         (WebCore::RenderStyle::accessTransitions):
2732         * rendering/svg/RenderSVGResourceFilter.cpp:
2733         (WebCore::RenderSVGResourceFilter::applyResource):
2734         * rendering/svg/SVGResources.cpp:
2735         (WebCore::SVGResources::SVGResources):
2736
2737 2011-04-25  Adam Barth  <abarth@webkit.org>
2738
2739         Attempt to fix the compile.
2740
2741         * platform/graphics/MediaPlayer.cpp:
2742         (WebCore::MediaPlayer::loadWithNextMediaEngine):
2743
2744 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
2745
2746         Rubber-stamped by Beth Dakin.
2747
2748         Merged CREATE_DOM_NODE_WRAPPER and CREATE_DOM_OBJECT_WRAPPER into 
2749         CREATE_DOM_WRAPPER because there's no meaningful difference between
2750         them anymore.
2751
2752         * bindings/js/JSCDATASectionCustom.cpp:
2753         (WebCore::toJSNewlyCreated):
2754         * bindings/js/JSCSSRuleCustom.cpp:
2755         (WebCore::toJS):
2756         * bindings/js/JSCSSValueCustom.cpp:
2757         (WebCore::toJS):
2758         * bindings/js/JSDOMBinding.h:
2759         * bindings/js/JSDocumentCustom.cpp:
2760         (WebCore::toJS):
2761         * bindings/js/JSElementCustom.cpp:
2762         (WebCore::toJSNewlyCreated):
2763         * bindings/js/JSEventCustom.cpp:
2764         (WebCore::toJS):
2765         * bindings/js/JSHTMLCollectionCustom.cpp:
2766         (WebCore::toJS):
2767         * bindings/js/JSImageDataCustom.cpp:
2768         (WebCore::toJS):
2769         * bindings/js/JSNodeCustom.cpp:
2770         (WebCore::createWrapperInline):
2771         * bindings/js/JSSVGPathSegCustom.cpp:
2772         (WebCore::toJS):
2773         * bindings/js/JSStyleSheetCustom.cpp:
2774         (WebCore::toJS):
2775         * bindings/js/JSTextCustom.cpp:
2776         (WebCore::toJSNewlyCreated):
2777         * bindings/js/JSWebKitCSSMatrixCustom.cpp:
2778         (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
2779         * bindings/js/JSWebSocketCustom.cpp:
2780         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
2781         * bindings/js/JSXMLHttpRequestCustom.cpp:
2782         (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
2783         * bindings/js/JSXSLTProcessorCustom.cpp:
2784         (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
2785
2786 2011-04-25  Adam Barth  <abarth@webkit.org>
2787
2788         Reviewed by James Robinson.
2789
2790         HTMLDocumentParser should play nice with OwnPtrs
2791         https://bugs.webkit.org/show_bug.cgi?id=59363
2792
2793         * html/parser/HTMLDocumentParser.cpp:
2794         (WebCore::HTMLDocumentParser::pumpTokenizer):
2795
2796 2011-04-25  Adam Barth  <abarth@webkit.org>
2797
2798         Reviewed by James Robinson.
2799
2800         Frame.cpp should work with strict OwnPtrs
2801         https://bugs.webkit.org/show_bug.cgi?id=59360
2802
2803         * page/Frame.cpp:
2804         (WebCore::createRegExpForLabels):
2805
2806 2011-04-25  Adam Barth  <abarth@webkit.org>
2807
2808         Reviewed by David Levin.
2809
2810         Fix strict OwnPtr in Element.cpp
2811         https://bugs.webkit.org/show_bug.cgi?id=59357
2812
2813         * dom/NodeRareData.h:
2814         (WebCore::NodeRareData::ensureEventTargetData):
2815
2816 2011-04-25  Adam Barth  <abarth@webkit.org>
2817
2818         Reviewed by David Levin.
2819
2820         Fix strict OwnPtr issues in Media*.cpp
2821         https://bugs.webkit.org/show_bug.cgi?id=59354
2822
2823         There's still a tricky case in MediaPlayer.cpp, but we'll worry about
2824         that later.
2825
2826         * css/MediaQueryMatcher.cpp:
2827         (WebCore::MediaQueryMatcher::addListener):
2828         * dom/Document.cpp:
2829         * platform/graphics/MediaPlayer.cpp:
2830         (WebCore::createNullMediaPlayer):
2831
2832 2011-04-25  James Robinson  <jamesr@chromium.org>
2833
2834         Reviewed by David Levin.
2835
2836         Fix strict OwnPtr violations in ListHashSet and RenderLayerCompositor
2837         https://bugs.webkit.org/show_bug.cgi?id=59353
2838
2839         * rendering/RenderLayerCompositor.cpp:
2840         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2841
2842 2011-04-25  Adam Barth  <abarth@webkit.org>
2843
2844         Reviewed by James Robinson.
2845
2846         Worker*.cpp should work with strict OwnPtrs
2847         https://bugs.webkit.org/show_bug.cgi?id=59346
2848
2849         * inspector/WorkerInspectorController.cpp:
2850         (WebCore::WorkerInspectorController::WorkerInspectorController):
2851         * workers/WorkerContext.cpp:
2852         (WebCore::WorkerContext::WorkerContext):
2853         * workers/WorkerRunLoop.cpp:
2854         (WebCore::WorkerRunLoop::WorkerRunLoop):
2855         * workers/WorkerScriptLoader.cpp:
2856         (WebCore::WorkerScriptLoader::createResourceRequest):
2857
2858 2011-04-25  James Robinson  <jamesr@chromium.org>
2859
2860         Reviewed by Adam Barth.
2861
2862         Remove bad use of OwnPtr::set() in IconDatabase.cpp
2863         https://bugs.webkit.org/show_bug.cgi?id=59344
2864
2865         Needed for strict OwnPtr compliance.
2866
2867         * loader/icon/IconDatabase.cpp:
2868         (WebCore::readySQLiteStatement):
2869
2870 2011-04-25  Adam Barth  <abarth@webkit.org>
2871
2872         Reviewed by Maciej Stachowiak.
2873
2874         ImageBuffer.h should work with strict OwnPtrs
2875         https://bugs.webkit.org/show_bug.cgi?id=59341
2876
2877         This patch is to prepare for the strict OwnPtr hack-a-thon.
2878
2879         * platform/graphics/ImageBuffer.h:
2880         (WebCore::ImageBuffer::create):
2881
2882 2011-04-25  Steve Falkenburg  <sfalken@apple.com>
2883
2884         Reviewed by Brian Weinstein.
2885
2886         WebCore build on Windows should include windows.h in its precompiled header to speed builds
2887         https://bugs.webkit.org/show_bug.cgi?id=59339
2888
2889         windows.h is included by several of the underlying wtf headers, including Atomics.h and
2890         ThreadingPrimitives.h anyway, so include it in the WebCorePrefix.h to speed up compilation.
2891         
2892         On my 8 core Mac Pro, this reduces a clean rebuild of debug WebCore from 8 minutes to 7 minutes
2893         (a 12% speedup).
2894
2895         * WebCorePrefix.h: Include windows.h
2896
2897 2011-04-25  Martin Robinson  <mrobinson@igalia.com>
2898
2899         Reviewed by Xan Lopez.
2900
2901         [GTK] Crash in WebCore::FrameView::notifyPageThatContentAreaWillPaint()
2902         https://bugs.webkit.org/show_bug.cgi?id=59311
2903
2904         * platform/gtk/MainFrameScrollbarGtk.cpp:
2905         (MainFrameScrollbarGtk::attachAdjustment): Before connecting an adjustment to a scrollbar
2906         disconnect any lingering signal handlers. This prevents an adjustment from controlling the
2907         active ScrollView and some zombie ScrollView.
2908
2909 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
2910
2911         Another shot at fixing the EFL build.
2912
2913         * UseJSC.cmake:
2914         * bindings/js/JSDOMBinding.cpp:
2915
2916 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
2917
2918         Try to fix EFL build.
2919
2920         * UseJSC.cmake: Added a missing file.
2921
2922 2011-04-25  Geoffrey Garen  <ggaren@apple.com>
2923
2924         Reviewed by Oliver Hunt.
2925
2926         Removed a use of markDOMObjectWrapper: ActiveDOMObjects, Workers, and MessagePorts
2927         https://bugs.webkit.org/show_bug.cgi?id=59333
2928
2929         * WebCore.xcodeproj/project.pbxproj: Added .idl files for easier editing.
2930
2931         * bindings/js/JSDOMBinding.cpp:
2932         * bindings/js/JSDOMBinding.h:
2933         * bindings/js/JSDocumentCustom.cpp:
2934         * bindings/js/JSWorkerContextCustom.cpp:
2935         (WebCore::JSWorkerContext::visitChildren): Removed now-unused functions.
2936
2937         * bindings/scripts/CodeGeneratorJS.pm: Added support for ActiveDOMObject
2938         lifetime management.
2939
2940         * dom/Document.idl: No need for a custom mark function anymore, since
2941         ActiveDOMObjets now manage their own lifetimes.
2942
2943         * dom/MessagePort.cpp:
2944         (WebCore::MessagePort::hasPendingActivity): Correctly report that we
2945         have pending activity when we're remotely entangled, instead of relying
2946         on our clients to know this about us and do the check for us.
2947
2948         * dom/MessagePort.h: FIXME!
2949
2950         * dom/MessagePort.idl:
2951         * fileapi/DOMFileSystem.idl:
2952         * fileapi/FileReader.idl:
2953         * fileapi/FileWriter.idl:
2954         * notifications/Notification.idl:
2955         * notifications/NotificationCenter.idl:
2956         * page/EventSource.idl:
2957         * storage/IDBDatabase.idl:
2958         * storage/IDBRequest.idl:
2959         * storage/IDBTransaction.idl:
2960         * webaudio/AudioContext.idl:
2961         * websockets/WebSocket.idl:
2962         * workers/AbstractWorker.idl:
2963         * workers/SharedWorker.idl:
2964         * workers/Worker.idl: Opt in to ActiveDOMObject lifetime management.
2965
2966         * workers/WorkerContext.cpp:
2967         (WebCore::WorkerContext::hasPendingActivity): No need to make up for
2968         MessagePort::hasPendingActivity being wrong anymore, since it's now right.
2969
2970         * xml/XMLHttpRequest.idl: Opt in to ActiveDOMObject lifetime management.
2971
2972 2011-04-25  Yury Semikhatsky  <yurys@chromium.org>
2973
2974         Reviewed by Pavel Feldman.
2975
2976         Web Inspector: worker messages should be routed to corresponding worker front-end
2977         https://bugs.webkit.org/show_bug.cgi?id=59323
2978
2979         Added WorkerManager which is responsible for routing messages between
2980         Page inspector front-end and Worker inspector front-ends.
2981
2982         * WebCore.gypi:
2983         * inspector/front-end/WebKit.qrc:
2984         * inspector/front-end/WorkerManager.js: Added.
2985         (WebInspector.WorkerManager):
2986         (WebInspector.WorkerManager.loaded.InspectorFrontendHost.sendMessageToBackend):
2987         (WebInspector.WorkerManager.loaded.InspectorFrontendHost.loaded):
2988         (WebInspector.WorkerManager.loaded):
2989         (WebInspector.WorkerFrontendStub):
2990         (WebInspector.WorkerFrontendStub.prototype._receiveMessage):
2991         (WebInspector.WorkerDispatcher):
2992         (WebInspector.WorkerDispatcher.prototype._receiveMessage):
2993         (WebInspector.WorkerDispatcher.prototype.workerCreated):
2994         (WebInspector.WorkerDispatcher.prototype.dispatchMessageFromWorker):
2995         * inspector/front-end/inspector.html:
2996         * inspector/front-end/inspector.js:
2997         (WebInspector.loaded):
2998
2999 2011-04-25  Annie Sullivan  <sullivan@chromium.org>
3000
3001         Reviewed by Pavel Feldman.
3002
3003         Web Inspector: [Resources panel] Should be easy to copy data.
3004         https://bugs.webkit.org/show_bug.cgi?id=45662
3005
3006         Adds context menu items to copy resource location, resource request headers, and resource response headers.
3007
3008         * inspector/front-end/NetworkPanel.js:
3009         (WebInspector.NetworkPanel.prototype._contextMenu): Add new items to context menu.
3010         (WebInspector.NetworkPanel.prototype._exportLocation): Copy resource location to clipboard.
3011         (WebInspector.NetworkPanel.prototype._exportRequestHeaders): Copy resource request headers to clipboard.
3012         (WebInspector.NetworkPanel.prototype._exportResponseHeaders): Copy resource response headers to clipboard.
3013         * inspector/front-end/Resource.js:
3014         (WebInspector.Resource.prototype.get requestHeadersText): If _requestHeadersText is undefined, generate it from requestHeaders.
3015         (WebInspector.Resource.prototype.get responseHeadersText): If _responseHeadersText is undefined, generate it form responseHeaders.
3016
3017 2011-04-25  Alexander Pavlov  <apavlov@chromium.org>
3018
3019         Reviewed by Yury Semikhatsky.
3020
3021         Web Inspector: CSS is parsed improperly when saved in UTF-8 with a BOM
3022         https://bugs.webkit.org/show_bug.cgi?id=59322
3023
3024         Use TextResourceDecoder to determine external stylesheet charsets correctly.
3025
3026         Test: inspector/styles/parse-utf8-bom.html
3027
3028         * inspector/InspectorStyleSheet.cpp:
3029         (WebCore::InspectorStyleSheet::originalStyleSheetText):
3030
3031 2011-04-25  Pavel Feldman  <pfeldman@google.com>
3032
3033         Not reviewed: Inspector.json cleanup.
3034
3035         * inspector/Inspector.json:
3036
3037 2011-04-25  Yury Semikhatsky  <yurys@chromium.org>
3038
3039         Reviewed by Pavel Feldman.
3040
3041         Web Inspector: introduce InspectorWorkerAgent
3042         https://bugs.webkit.org/show_bug.cgi?id=59320
3043
3044         InspectorWorkerAgent is responsible for routing inspector messages
3045         between worker context inspector agents and corresponding worker
3046         inspector front-end.
3047
3048         * CMakeLists.txt:
3049         * GNUmakefile.list.am:
3050         * WebCore.gypi:
3051         * WebCore.pro:
3052         * WebCore.vcproj/WebCore.vcproj:
3053         * WebCore.xcodeproj/project.pbxproj:
3054         * inspector/CodeGeneratorInspector.pm:
3055         * inspector/Inspector.json:
3056         * inspector/InspectorAgent.cpp:
3057         (WebCore::InspectorAgent::InspectorAgent):
3058         (WebCore::InspectorAgent::setFrontend):
3059         (WebCore::InspectorAgent::disconnectFrontend):
3060         * inspector/InspectorAgent.h:
3061         (WebCore::InspectorAgent::workerAgent):
3062         * inspector/InspectorController.cpp:
3063         (WebCore::InspectorController::connectFrontend):
3064         (WebCore::InspectorController::disconnectFrontend):
3065         * inspector/InspectorInstrumentation.cpp:
3066         (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
3067         * inspector/InspectorInstrumentation.h:
3068         (WebCore::InspectorInstrumentation::willStartWorkerContext):
3069         (WebCore::InspectorInstrumentation::didStartWorkerContext):
3070         * inspector/InspectorWorkerAgent.cpp: Added.
3071         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
3072         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
3073         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::id):
3074         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::inspectorProxy):
3075         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::sendMessageToFrontend):
3076         (WebCore::InspectorWorkerAgent::create):
3077         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
3078         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
3079         (WebCore::InspectorWorkerAgent::setFrontend):
3080         (WebCore::InspectorWorkerAgent::clearFrontend):
3081         (WebCore::InspectorWorkerAgent::dispatchMessageOnWorkerInspector):
3082         (WebCore::InspectorWorkerAgent::didStartWorkerContext):
3083         * inspector/InspectorWorkerAgent.h: Added.
3084         * inspector/InstrumentingAgents.h:
3085         (WebCore::InstrumentingAgents::InstrumentingAgents):
3086         (WebCore::InstrumentingAgents::inspectorWorkerAgent):
3087         (WebCore::InstrumentingAgents::setInspectorWorkerAgent):
3088         * inspector/WorkerInspectorController.cpp:
3089         (WebCore::WorkerInspectorController::connectFrontend):
3090         * inspector/generate-inspector-idl:
3091         * workers/Worker.cpp:
3092         (WebCore::Worker::notifyFinished):
3093         * workers/WorkerContextInspectorProxy.h: Added. Platform-specific transport for inspector
3094         messages sent from the inspected page worker agent to the worker context inspector agents.
3095         (WebCore::WorkerContextInspectorProxy::connectFrontend):
3096         (WebCore::WorkerContextInspectorProxy::disconnectFrontend):
3097         (WebCore::WorkerContextInspectorProxy::sendMessageToWorkerContextInspector):
3098         (WebCore::WorkerContextInspectorProxy::~WorkerContextInspectorProxy):
3099         * workers/WorkerContextProxy.h:
3100         (WebCore::WorkerContextProxy::inspectorProxy):
3101
3102 2011-04-25  Pavel Feldman  <pfeldman@google.com>
3103
3104         Reviewed by Yury Semikhatsky.
3105
3106         Web Inspector: move Frame and Resource Tree management into the Page agent.
3107         https://bugs.webkit.org/show_bug.cgi?id=59321
3108
3109         Network agent should only handle network-related activities.
3110         Frame structure should be managed by the Page agent instead.
3111
3112         * inspector/Inspector.json:
3113         * inspector/InspectorAgent.cpp:
3114         (WebCore::InspectorAgent::InspectorAgent):
3115         * inspector/InspectorDOMAgent.cpp:
3116         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3117         (WebCore::InspectorDOMAgent::setFrontend):
3118         (WebCore::InspectorDOMAgent::restore):
3119         (WebCore::InspectorDOMAgent::highlightFrame):
3120         * inspector/InspectorDOMAgent.h:
3121         (WebCore::InspectorDOMAgent::create):
3122         * inspector/InspectorInstrumentation.cpp:
3123         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
3124         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
3125         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
3126         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3127         * inspector/InspectorPageAgent.cpp:
3128         (WebCore::InspectorPageAgent::create):
3129         (WebCore::InspectorPageAgent::resourceContent):
3130         (WebCore::InspectorPageAgent::resourceContentBase64):
3131         (WebCore::InspectorPageAgent::resourceData):
3132         (WebCore::InspectorPageAgent::cachedResource):
3133         (WebCore::InspectorPageAgent::resourceTypeString):
3134         (WebCore::InspectorPageAgent::cachedResourceType):
3135         (WebCore::InspectorPageAgent::cachedResourceTypeString):
3136         (WebCore::InspectorPageAgent::InspectorPageAgent):
3137         (WebCore::InspectorPageAgent::setFrontend):
3138         (WebCore::InspectorPageAgent::reload):
3139         (WebCore::InspectorPageAgent::open):
3140         (WebCore::InspectorPageAgent::getCookies):
3141         (WebCore::InspectorPageAgent::deleteCookie):
3142         (WebCore::InspectorPageAgent::getResourceTree):
3143         (WebCore::InspectorPageAgent::getResourceContent):
3144         (WebCore::InspectorPageAgent::restore):
3145         (WebCore::InspectorPageAgent::domContentEventFired):
3146         (WebCore::InspectorPageAgent::loadEventFired):
3147         (WebCore::InspectorPageAgent::frameNavigated):
3148         (WebCore::InspectorPageAgent::frameDetached):
3149         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
3150         (WebCore::InspectorPageAgent::mainFrame):
3151         (WebCore::pointerAsId):
3152         (WebCore::InspectorPageAgent::frameForId):
3153         (WebCore::InspectorPageAgent::frameId):
3154         (WebCore::InspectorPageAgent::loaderId):
3155         (WebCore::InspectorPageAgent::buildObjectForFrame):
3156         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
3157         * inspector/InspectorPageAgent.h:
3158         * inspector/InspectorResourceAgent.cpp:
3159         (WebCore::buildObjectForCachedResource):
3160         (WebCore::InspectorResourceAgent::willSendRequest):
3161         (WebCore::InspectorResourceAgent::didReceiveResponse):
3162         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
3163         (WebCore::InspectorResourceAgent::setInitialScriptContent):
3164         (WebCore::InspectorResourceAgent::setInitialXHRContent):
3165         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3166         * inspector/InspectorResourceAgent.h:
3167         (WebCore::InspectorResourceAgent::create):
3168         * inspector/InspectorStyleSheet.cpp:
3169         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
3170         * inspector/front-end/NetworkManager.js:
3171         (WebInspector.NetworkManager.prototype.requestContent):
3172         * inspector/front-end/NetworkPanel.js:
3173         (WebInspector.NetworkPanel):
3174         (WebInspector.NetworkPanel.prototype.frameNavigated):
3175         * inspector/front-end/ResourceTreeModel.js:
3176         (WebInspector.ResourceTreeModel):
3177         (WebInspector.ResourceTreeModel.prototype.frontendReused):
3178         (WebInspector.ResourceTreeModel.prototype.frameNavigated):
3179         (WebInspector.ResourceTreeModel.prototype.frameDetached):
3180         * inspector/front-end/inspector.js:
3181         (WebInspector.domContentEventFired):
3182         (WebInspector.loadEventFired):
3183         (WebInspector.frameNavigated):
3184         (WebInspector.frameDetached):
3185
3186 2011-04-25  Pavel Feldman  <pfeldman@google.com>
3187
3188         Reviewed by Yury Semikhatsky.
3189
3190         Web Inspector: few protocol improvements.
3191         https://bugs.webkit.org/show_bug.cgi?id=59319
3192
3193         - Page domain is documented
3194         - setUserAgentOverride is moved to the Network agent
3195         - setSearchingForNode -> setInspectModeEnabled
3196         - highlightDOMNode -> highlightNode
3197         - reloadPage -> reload
3198         - openInNewWindow -> open with optional parameter
3199
3200         * inspector/Inspector.json:
3201         * inspector/InspectorDOMAgent.cpp:
3202         (WebCore::InspectorDOMAgent::setInspectModeEnabled):
3203         (WebCore::InspectorDOMAgent::highlightNode):
3204         * inspector/InspectorDOMAgent.h:
3205         (WebCore::InspectorDOMAgent::hideNodeHighlight):
3206         * inspector/InspectorInstrumentation.cpp:
3207         (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
3208         * inspector/InspectorPageAgent.cpp:
3209         (WebCore::InspectorPageAgent::clearFrontend):
3210         (WebCore::InspectorPageAgent::reload):
3211         (WebCore::InspectorPageAgent::open):
3212         * inspector/InspectorPageAgent.h:
3213         * inspector/InspectorResourceAgent.cpp:
3214         (WebCore::InspectorResourceAgent::clearFrontend):
3215         (WebCore::InspectorResourceAgent::applyUserAgentOverride):
3216         (WebCore::InspectorResourceAgent::setUserAgentOverride):
3217         * inspector/InspectorResourceAgent.h:
3218         * inspector/front-end/AuditsPanel.js:
3219         (WebInspector.AuditsPanel.prototype._reloadResources):
3220         * inspector/front-end/ElementsPanel.js:
3221         (WebInspector.ElementsPanel.prototype.setSearchingForNode):
3222         * inspector/front-end/ExtensionServer.js:
3223         (WebInspector.ExtensionServer.prototype._onReload):
3224         * inspector/front-end/NetworkPanel.js:
3225         (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
3226         * inspector/front-end/ResourcesPanel.js:
3227         (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
3228         * inspector/front-end/inspector.js:
3229         (WebInspector.highlightDOMNode):
3230         (WebInspector.openResource):
3231         (WebInspector.documentKeyDown):
3232
3233 2011-04-25  Jon Lee  <jonlee@apple.com>
3234
3235         Reviewed by Maciej Stachowiak.
3236
3237         Overlay scroller hard to see on pages with dark background (59183)
3238         https://bugs.webkit.org/show_bug.cgi?id=59183
3239         <rdar://problem/8975367>
3240
3241         Switch the scrollbar's overlay style depending on its frame's background color.
3242         This refactors the getDocumentBackgroundColor method needed for gestures. The style
3243         is determined and set on every paint() call to the Mac scrollbar theme.
3244
3245         * WebCore.exp.in: adding method to allow changing style
3246         * page/Frame.cpp:
3247         (WebCore::Frame::getDocumentBackgroundColor): moving code from WebFrame for reuse by FrameView
3248         * page/Frame.h:
3249         * page/FrameView.cpp:
3250         (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
3251         * page/FrameView.h:
3252         * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
3253         * platform/ScrollableArea.h:
3254         (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
3255         * platform/mac/ScrollbarThemeMac.mm:
3256         (WebCore::ScrollbarThemeMac::paint):
3257         * platform/mac/WebCoreSystemInterface.h:
3258         * platform/mac/WebCoreSystemInterface.mm:
3259
3260 2011-04-25  Dan Bernstein  <mitz@apple.com>
3261
3262         Reviewed by Maciej Stachowiak.
3263
3264         <rdar://problem/9113516> REGRESSION (WK2): Holding down Option while dragging scrollbar thumb has no effect (should make scroll distance equal mouse translation)
3265         https://bugs.webkit.org/show_bug.cgi?id=59315
3266
3267         * platform/Scrollbar.cpp:
3268         (WebCore::Scrollbar::Scrollbar): Initialize new member variables.
3269         (WebCore::Scrollbar::moveThumb): Added a boolean draggingDocument parameter. When true, the document
3270         is scrolled a distance equal to the change in the mouse position.
3271         (WebCore::Scrollbar::mouseMoved): Check with the theme whether the mouse move event should drag
3272         the document rather than the thumb, and pass the result to moveThumb.
3273         (WebCore::Scrollbar::mouseUp): Reset m_draggingDocument.
3274         * platform/Scrollbar.h:
3275         * platform/ScrollbarTheme.h:
3276         (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb): Added. The base class implementation
3277         returns false.
3278         * platform/mac/ScrollbarThemeMac.h:
3279         * platform/mac/ScrollbarThemeMac.mm:
3280         (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb): Overridden to return true if the
3281         Option key is down.
3282
3283 2011-04-24  Geoffrey Garen  <ggaren@apple.com>
3284
3285         Reviewed by Sam Weinig.
3286
3287         Removed a use of markDOMObjectWrapper: WebGL, XHR, workers; plus, more autogeneration
3288         https://bugs.webkit.org/show_bug.cgi?id=59307
3289
3290         * WebCore.xcodeproj/project.pbxproj: Added Blob.idl, so it's easier to edit.
3291
3292         * bindings/js/JSCSSRuleCustom.cpp:
3293         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3294         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3295         * bindings/js/JSDOMApplicationCacheCustom.cpp: Autogenerate these instead
3296         of hand-coding them.
3297
3298         * bindings/js/JSDOMBinding.h:
3299         (WebCore::root): Moved some GC helpers here from JSNodeCustom.h, because
3300         they're reasonably generic.
3301
3302         * bindings/js/JSDOMImplementationCustom.cpp:
3303         * bindings/js/JSDOMStringMapCustom.cpp:
3304         * bindings/js/JSDOMTokenListCustom.cpp:
3305         * bindings/js/JSHTMLCollectionCustom.cpp:
3306         * bindings/js/JSMediaListCustom.cpp: Autogenerate these instead of
3307         hand-coding them.
3308
3309         * bindings/js/JSMessageChannelCustom.cpp:
3310         (WebCore::JSMessageChannel::visitChildren):
3311         * bindings/js/JSMessagePortCustom.cpp:
3312         (WebCore::JSMessagePort::visitChildren): Use addOpaqueRoot instead of
3313         markDOMObjectWrapper. This is one of the few cases where a DOM object is
3314         considered a stand-alone root. It's not as efficient as the shared root
3315         case, but workers and message ports are very rare objects, so it's no
3316         big deal.
3317
3318         * bindings/js/JSNamedNodeMapCustom.cpp: Autogenerate!
3319
3320         * bindings/js/JSNodeCustom.h: Moved to JSDOMBinding.h.
3321
3322         * bindings/js/JSSharedWorkerCustom.cpp:
3323         (WebCore::JSSharedWorker::visitChildren): Use addOpaqueRoot instead of
3324         markDOMObjectWrapper, as above. Once again, a stand-alone root.
3325
3326         * bindings/js/JSStyleSheetCustom.cpp:
3327         * bindings/js/JSStyleSheetListCustom.cpp: Autogenerate!
3328
3329         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3330         (WebCore::JSWebGLRenderingContext::visitChildren): Use the opaque roots
3331         system for marking WebGL contexts and their associated satellite objects.
3332
3333         * bindings/js/JSWorkerContextCustom.cpp:
3334         (WebCore::JSWorkerContext::visitChildren):
3335         * bindings/js/JSXMLHttpRequestCustom.cpp: Use addOpaqueRoot instead of
3336         markDOMObjectWrapper, as above. Once again, stand-alone roots.
3337
3338         (WebCore::JSXMLHttpRequest::visitChildren):
3339         * bindings/js/JSXMLHttpRequestUploadCustom.cpp: No need to mark our owner
3340         XHR because it is not reachable from us.
3341
3342         * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration support for a
3343         bunch of repetitive cases of isReachableFromOpaqueRoots callbacks.
3344
3345         * css/CSSRule.idl:
3346         * css/CSSStyleDeclaration.idl:
3347         * css/MediaList.idl:
3348         * css/StyleMedia.idl:
3349         * css/StyleSheet.idl:
3350         * css/StyleSheetList.idl:
3351         * dom/DOMImplementation.idl:
3352         * dom/DOMStringMap.idl:
3353         * dom/MessagePort.idl:
3354         * dom/NamedNodeMap.idl:
3355         * fileapi/Blob.idl:
3356         * html/DOMTokenList.idl: Opt in to autogeneration.
3357
3358         * html/HTMLCanvasElement.cpp:
3359         (WebCore::HTMLCanvasElement::getContext): Standardized on PassOwnPtr/OwnPtr
3360         usage, to reduce human error and make ownership rules more obvious.
3361
3362         * html/HTMLCollection.idl:
3363         * html/canvas/ArrayBuffer.idl: Opt in to autogeneration.
3364
3365         * html/canvas/CanvasRenderingContext.cpp:
3366         * html/canvas/CanvasRenderingContext.h:
3367         (WebCore::CanvasRenderingContext::ref):
3368         (WebCore::CanvasRenderingContext::deref):
3369         * html/canvas/CanvasRenderingContext2D.h:
3370         (WebCore::CanvasRenderingContext2D::create):
3371         (WebCore::CanvasRenderingContext2D::state): Standardized on PassOwnPtr/OwnPtr
3372         usage, to reduce human error and make ownership rules more obvious.
3373         
3374         Inlined some functions to match our standard idiom and to make the code
3375         in the header document itself.
3376
3377         * html/canvas/CanvasRenderingContext.idl: Opt in to autogeneration.
3378
3379         * html/canvas/OESStandardDerivatives.cpp:
3380         (WebCore::OESStandardDerivatives::OESStandardDerivatives):
3381         (WebCore::OESStandardDerivatives::create):
3382         * html/canvas/OESStandardDerivatives.h:
3383         * html/canvas/OESStandardDerivatives.idl:
3384         * html/canvas/OESTextureFloat.cpp:
3385         (WebCore::OESTextureFloat::OESTextureFloat):
3386         (WebCore::OESTextureFloat::create):
3387         * html/canvas/OESTextureFloat.h:
3388         * html/canvas/OESTextureFloat.idl:
3389         * html/canvas/OESVertexArrayObject.cpp:
3390         (WebCore::OESVertexArrayObject::OESVertexArrayObject):
3391         (WebCore::OESVertexArrayObject::create):
3392         * html/canvas/OESVertexArrayObject.h:
3393         * html/canvas/OESVertexArrayObject.idl:
3394         * html/canvas/WebGLExtension.cpp:
3395         (WebCore::WebGLExtension::WebGLExtension):
3396         * html/canvas/WebGLExtension.h:
3397         (WebCore::WebGLExtension::ref):
3398         (WebCore::WebGLExtension::deref):
3399         (WebCore::WebGLExtension::context):
3400         * html/canvas/WebGLRenderingContext.cpp:
3401         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
3402         (WebCore::WebGLRenderingContext::getExtension):
3403         * html/canvas/WebGLRenderingContext.h:
3404         * html/canvas/WebKitLoseContext.cpp:
3405         (WebCore::WebKitLoseContext::WebKitLoseContext):
3406         (WebCore::WebKitLoseContext::create):
3407         (WebCore::WebKitLoseContext::loseContext):
3408         * html/canvas/WebKitLoseContext.h:
3409         * html/canvas/WebKitLoseContext.idl: Updated the ownership model for WebGL
3410         canavs rendering contexts to match the model for 2D canvas rendering
3411         contexts. This makes garbage collection a lot more straightforward, but
3412         it also makes the behavior of these objects more reliable. (Previously,
3413         satellite objects would magically stop working when the last reference
3414         to their owner object was dropped. Now, satellite objects keep their owner
3415         alive through reference counting.)
3416
3417         * loader/appcache/DOMApplicationCache.idl:
3418         * page/BarInfo.idl:
3419         * page/Console.idl:
3420         * page/DOMSelection.idl:
3421         * page/Geolocation.idl:
3422         * page/History.idl:
3423         * page/Location.idl:
3424         * page/Navigator.idl:
3425         * page/Screen.idl:
3426         * page/WorkerNavigator.idl:
3427         * plugins/DOMMimeTypeArray.h:
3428         (WebCore::DOMMimeTypeArray::frame):
3429         * plugins/DOMMimeTypeArray.idl:
3430         * plugins/DOMPluginArray.h:
3431         (WebCore::DOMPluginArray::frame):
3432         * plugins/DOMPluginArray.idl:
3433         * storage/Storage.idl:
3434         * workers/WorkerLocation.idl: Opt in to autogeneration.
3435
3436         * xml/XMLHttpRequest.cpp:
3437         (WebCore::XMLHttpRequest::~XMLHttpRequest):
3438         * xml/XMLHttpRequest.h:
3439         * xml/XMLHttpRequestUpload.cpp:
3440         (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
3441         * xml/XMLHttpRequestUpload.h:
3442         (WebCore::XMLHttpRequestUpload::create):
3443         (WebCore::XMLHttpRequestUpload::ref):
3444         (WebCore::XMLHttpRequestUpload::deref):
3445         (WebCore::XMLHttpRequestUpload::xmlHttpRequest):
3446         (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
3447         * xml/XMLHttpRequestUpload.idl: Updated the ownership model for XHR and
3448         its associated upload object to match the model for canvas. This makes
3449         garbage collection a lot more straightforward, but it also makes the
3450         behavior of these objects more reliable.
3451
3452 2011-04-24  Sheriff Bot  <webkit.review.bot@gmail.com>
3453
3454         Unreviewed, rolling out r84759.
3455         http://trac.webkit.org/changeset/84759
3456         https://bugs.webkit.org/show_bug.cgi?id=59306
3457
3458         Caused gc-shadow.html to start crashing in V8. (Requested by
3459         dglazkov|away on #webkit).
3460
3461         * dom/Node.cpp:
3462         (WebCore::NodeRendererFactory::createRendererAndStyle):
3463         (WebCore::Node::styleForRenderer):
3464
3465 2011-04-24  Maciej Stachowiak  <mjs@apple.com>
3466
3467         Reviewed by George Staikos.
3468
3469         Handling of URLs like http:/example.com/ is incorrect
3470         https://bugs.webkit.org/show_bug.cgi?id=59300
3471         <rdar://problem/9231956>
3472
3473         URLs like http:/example.com/ or http:example.com/ are now correctly
3474         canonicalized as http://example.com/
3475         
3476         The code still doesn't quite match other browsers - at least some
3477         other browsers seem to base parsing behavior on whether they
3478         recongize a scheme from a fixed list, and ignore whether // is
3479         present in the URL or not.
3480         
3481         * platform/KURL.cpp:
3482         (WebCore::isNonFileHierarchicalScheme): New helper function.
3483         (WebCore::KURL::parse): For a particular list of whitelisted schemes,
3484         assume they are hierarchical and need an authority even if there is no //
3485         after the :/
3486
3487 2011-04-24  Dan Bernstein  <mitz@apple.com>
3488
3489         LLVM Compiler build fix.
3490
3491         * page/ContentSecurityPolicy.cpp: Removed an unused function.
3492
3493 2011-04-24  Dominic Cooney  <dominicc@chromium.org>
3494
3495         Reviewed by Dimitri Glazkov.
3496
3497         Crash when adding a text node to a shadow root
3498         https://bugs.webkit.org/show_bug.cgi?id=59304
3499
3500         Text nodes need to consult their host element for style.
3501
3502         Test: fast/dom/shadow/append-child-text.html
3503
3504         * dom/Node.cpp:
3505         (WebCore::NodeRendererFactory::styleForRenderer):
3506         (WebCore::NodeRendererFactory::createRendererAndStyle):
3507         (WebCore::Node::styleForRenderer): forward to NodeRendererFactory
3508
3509 2011-04-24  Adam Barth  <abarth@webkit.org>
3510
3511         Reviewed by Eric Seidel.
3512
3513         Update Content-Security-Policy syntax to match new version of spec
3514         https://bugs.webkit.org/show_bug.cgi?id=59291
3515
3516         Brandon removed disable-xss-protection in favor of unsafe-inline and
3517         allow-eval in favor of unsafe-eval.  This change in syntax also means
3518         the options directive no longer exists.
3519
3520         * page/ContentSecurityPolicy.cpp:
3521         (WebCore::CSPSourceList::allowInline):
3522         (WebCore::CSPSourceList::allowEval):
3523         (WebCore::CSPSourceList::CSPSourceList):
3524         (WebCore::CSPSourceList::parseSource):
3525         (WebCore::CSPSourceList::addSourceUnsafeInline):
3526         (WebCore::CSPSourceList::addSourceUnsafeEval):
3527         (WebCore::CSPDirective::allowInline):
3528         (WebCore::CSPDirective::allowEval):
3529         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
3530         (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
3531         (WebCore::ContentSecurityPolicy::allowInlineScript):
3532         (WebCore::ContentSecurityPolicy::allowEval):
3533         (WebCore::ContentSecurityPolicy::addDirective):
3534         * page/ContentSecurityPolicy.h:
3535
3536 2011-04-24  Dan Bernstein  <mitz@apple.com>
3537
3538         Reviewed by Maciej Stachowiak.
3539
3540         Manual test for <rdar://problem/9329741> Reproducible crash in WebChromeClient::invalidateContentsAndWindow() on simonscat.com
3541         https://bugs.webkit.org/show_bug.cgi?id=59299
3542
3543         * manual-tests/back-from-document-with-scrollbar.html: Added.
3544
3545 2011-04-24  Rik Cabanier  <cabanier@adobe.com>
3546
3547         Reviewed by Simon Fraser.
3548
3549         Tables are not rendered correctly
3550         https://bugs.webkit.org/show_bug.cgi?id=59138
3551
3552         Test: fast/table/auto-100-percent-width.html
3553
3554         * rendering/AutoTableLayout.cpp:
3555         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
3556
3557 2011-04-23  Simon Fraser  <simon.fraser@apple.com>
3558
3559         Fix Windows build, which complains about unreachable code.
3560
3561         * platform/ScrollableArea.cpp:
3562         (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
3563         (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
3564         (WebCore::ScrollableArea::hasLayerForScrollCorner):
3565
3566 2011-04-23  Simon Fraser  <simon.fraser@apple.com>
3567
3568         Reviewed by Dan Bernstein.
3569
3570         Area under composited scrollbars not repainted in WebKit2 on scrolling
3571         https://bugs.webkit.org/show_bug.cgi?id=59294
3572         <rdar://problem/9299062>
3573         
3574         When computing the rect that can be copied on scrolling, we normally
3575         exclude the areas occupied by overlay scrollbars to avoid smeared scrollbars;
3576         the assumption is that other code will repaint these areas. However, when
3577         scrollbars are in their own compositing layers, we can, and should
3578         copy the entire area.
3579
3580         Not testable in DRT because it does not allow tests to use overlay scrollbars.
3581
3582         * platform/ScrollView.h:
3583         * platform/ScrollView.cpp:
3584         (WebCore::ScrollView::rectToCopyOnScroll):
3585         New method, with code moved from scrollContents and fixed to look
3586         for scrollbars in layers.
3587         (WebCore::ScrollView::scrollContents):
3588         Call rectToCopyOnScroll().
3589         
3590         * platform/ScrollableArea.h:
3591         * platform/ScrollableArea.cpp:
3592         (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
3593         (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
3594         (WebCore::ScrollableArea::hasLayerForScrollCorner):
3595         Methods we can call outside of the ACCELERATED_COMPOSITING #ifdef.
3596
3597 2011-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
3598
3599         Unreviewed, rolling out r84740.
3600         http://trac.webkit.org/changeset/84740
3601         https://bugs.webkit.org/show_bug.cgi?id=59290
3602
3603         change breaks apple internal builds and is incorrect
3604         (Requested by smfr on #webkit).
3605
3606         * WebCore.exp.in:
3607         * page/FrameView.cpp:
3608         * page/FrameView.h:
3609         * platform/ScrollTypes.h:
3610         * platform/ScrollableArea.h:
3611         * platform/mac/ScrollbarThemeMac.mm:
3612         (WebCore::ScrollbarThemeMac::paint):
3613         * platform/mac/WebCoreSystemInterface.h:
3614         * platform/mac/WebCoreSystemInterface.mm:
3615
3616 2011-04-23  Dan Bernstein  <mitz@apple.com>
3617
3618         Reviewed by Simon Fraser.
3619
3620         <rdar://problem/8970549> WebFindOptionsAtWordStarts fails with Japanese words
3621         https://bugs.webkit.org/show_bug.cgi?id=59288
3622
3623         * platform/text/mac/TextBoundaries.mm:
3624         (WebCore::wordStringTokenizer): Added this helper function.
3625         (WebCore::findNextWordFromIndex): Changed to use a CFStringTokenizer with kCFStringTokenizerUnitWord,
3626         whose behavior is not locale-dependent.
3627
3628 2011-04-23  Dominic Cooney  <dominicc@chromium.org>
3629
3630         Reviewed by Dimitri Glazkov.
3631
3632         [V8] Nodes in shadow DOM should not be GCed while their hosts are alive
3633         https://bugs.webkit.org/show_bug.cgi?id=59284
3634
3635         Test: fast/dom/shadow/gc-shadow.html
3636
3637         * bindings/v8/V8GCController.cpp:
3638         (WebCore::calculateGroupId): group shadow nodes with their hosts
3639
3640 2011-04-23  MORITA Hajime <morrita@google.com>
3641
3642         Reviewed by Dimitri Glazkov.
3643
3644         [Refactoring] NodeRenderParentDetector should be NodeRenderFactory
3645         https://bugs.webkit.org/show_bug.cgi?id=59280
3646         
3647         - Rename NodeRenderParentDetector to NodeRendererFactory
3648         - move createRendererAndStyle() and createRendererIfNeeded to
3649           NodeRendererFactory
3650
3651         No new test, no behavioral change.
3652         
3653         * dom/Node.cpp:
3654         (WebCore::NodeRendererFactory::NodeRendererFactory):
3655         (WebCore::NodeRendererFactory::document):
3656         (WebCore::NodeRendererFactory::nextRenderer):
3657         (WebCore::NodeRendererFactory::findVisualParent):
3658         (WebCore::NodeRendererFactory::shouldCreateRenderer):
3659         (WebCore::NodeRendererFactory::createRendererAndStyle):
3660         (WebCore::NodeRendererFactory::createRendererIfNeeded):
3661         (WebCore::Node::parentNodeForRenderingAndStyle):
3662         (WebCore::Node::createRendererIfNeeded):
3663         * dom/Node.h:
3664         * html/HTMLDetailsElement.cpp:
3665         (WebCore::DetailsSummaryElement::detailsElement): Added const_cast due to the chage on parentNodeForRenderingAndStyle() 
3666
3667 2011-04-23  MORITA Hajime  <morrita@google.com>
3668
3669         Reviewed by Kent Tamura.
3670
3671         REGRESSION: (non-Mac) <meter>'s bar part isn't rendered for with -webkit-writing-mode: vertical-lr from r82899
3672         https://bugs.webkit.org/show_bug.cgi?id=59281
3673
3674         Styles for -webkit-meter-bar and -webkit-progress-bar missed width property, which caused unexpected layout results
3675         for vertical writing modes. This fix added a width property for each of them.
3676         
3677         Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html
3678                fast/dom/HTMLProgressElement/progress-writing-mode.html
3679
3680         * css/html.css:
3681         (meter::-webkit-meter-bar):
3682         (progress::-webkit-progress-bar):
3683
3684 2011-04-23  Kevin Ollivier  <kevino@theolliviers.com>
3685
3686         [wx] Unreviewed build fix. Added missing header.
3687         
3688         * platform/graphics/filters/FEDropShadow.h:
3689
3690 2011-04-23  Alexey Proskuryakov  <ap@apple.com>
3691
3692         Reviewed by Maciej Stachowiak.
3693
3694         REGRESSION (r80812): window.print();window.close() doesn't work in WebKit2
3695         https://bugs.webkit.org/show_bug.cgi?id=59241
3696         <rdar://problem/9150861>
3697
3698         Covered by manual-tests/print-after-window-close.html.
3699
3700         Re-fixing <https://bugs.webkit.org/show_bug.cgi?id=51357> in a way that doesn't cause the
3701         regression.
3702
3703         * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::didCancel): We shouldn't be
3704         doing complicated work while the loader is half-canceled.
3705
3706         * manual-tests/print-after-window-close.html: Extended to actually print a non-empty page,
3707         thus being more practical.
3708
3709         * page/Chrome.cpp: (WebCore::Chrome::print): Added a FIXME about a need for PageGroupLoadDeferrer.
3710         It's too scary for me to try now.
3711
3712         * page/DOMWindow.cpp:
3713         (WebCore::DOMWindow::DOMWindow):
3714         (WebCore::DOMWindow::finishedLoading):
3715         * page/DOMWindow.h:
3716         Reverted the previous fix for <https://bugs.webkit.org/show_bug.cgi?id=51357>.
3717
3718 2011-04-19  Vitaly Repeshko  <vitalyr@chromium.org>
3719
3720         Reviewed by Adam Barth.
3721
3722         [V8] Use implicit references for V8 listeners on DOM nodes.
3723         https://bugs.webkit.org/show_bug.cgi?id=58953
3724
3725         Instead of allocating an auxiliary V8 array referencing V8
3726         listener objects associated with a DOM node and using an extra
3727         pointer in every DOM node wrapper, we can register implicit
3728         references between nodes and their listeners during GC. This also
3729         makes V8 bindings more aligned with JSC bindings.
3730
3731         No new tests because this is a refactoring.
3732
3733         * bindings/scripts/CodeGeneratorV8.pm: Stopped generating the
3734         listener cache internal field for DOM nodes.
3735         * bindings/v8/V8AbstractEventListener.h: Exposed the lister handle
3736         to the GC.
3737         (WebCore::V8AbstractEventListener::existingListenerObjectPeristentHandle):
3738         * bindings/v8/V8GCController.cpp: Started using implicit references.
3739         (WebCore::GrouperVisitor::visitDOMWrapper):
3740         * dom/EventTarget.h: Implemented an iterator over all listeners.
3741         (WebCore::EventListenerIterator):
3742
3743 2011-04-22  Jon Lee  <jonlee@apple.com>
3744
3745         Reviewed by Beth Dakin.
3746
3747         Overlay scroller hard to see on pages with dark background (59183)
3748         https://bugs.webkit.org/show_bug.cgi?id=59183
3749         <rdar://problem/8975367>
3750
3751         * WebCore.exp.in: adding method to allow changing style
3752         * page/FrameView.cpp:
3753         (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
3754         * page/FrameView.h:
3755         * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
3756         * platform/ScrollableArea.cpp:
3757         (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
3758         * platform/ScrollableArea.h:
3759         * platform/mac/ScrollbarThemeMac.mm:
3760         (WebCore::ScrollbarThemeMac::paint):
3761         * platform/mac/WebCoreSystemInterface.h:
3762         * platform/mac/WebCoreSystemInterface.mm:
3763
3764 2011-04-22  Chris Evans  <cevans@chromium.org>
3765
3766         Reviewed by Adam Barth.
3767
3768         Upgrade CSS loads from mixed content warning (displayed) to mixed
3769         content error (ran)
3770         https://bugs.webkit.org/show_bug.cgi?id=59056
3771
3772         Test: http/tests/security/mixedContent/insecure-css-in-iframe.html
3773         Test: http/tests/security/mixedContent/insecure-css-in-main-frame.html
3774
3775         * loader/cache/CachedResourceLoader.cpp:
3776         (WebCore::CachedResourceLoader::canRequest): CSS loads are running rather than displaying content.
3777
3778 2011-04-22  Geoffrey Garen  <ggaren@apple.com>
3779
3780         Fixed an upside-down conditional in my last check-in.
3781
3782         * bindings/js/JSDOMApplicationCacheCustom.cpp:
3783         (WebCore::isObservable):
3784
3785 2011-04-22  Geoffrey Garen  <ggaren@apple.com>
3786         
3787         Rolled back in r84725 and r84728 with appcache crash fixed.
3788
3789         Reviewed by Oliver Hunt.
3790
3791         Removed a use of markDOMObjectWrapper: DOMWindow
3792         https://bugs.webkit.org/show_bug.cgi?id=59260
3793
3794         * bindings/js/JSDOMWindowCustom.cpp:
3795         (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
3796         we use the opaque roots system now.
3797
3798         * bindings/js/JSNavigatorCustom.cpp: Ditto.
3799
3800         * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
3801         whose opaque roots are frames.
3802
3803         * css/StyleMedia.h:
3804         (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.
3805
3806         * css/StyleMedia.idl:
3807         * loader/appcache/DOMApplicationCache.idl:
3808         * page/BarInfo.idl:
3809         * page/Console.idl:
3810         * page/DOMSelection.idl:
3811         * page/Geolocation.idl:
3812         * page/History.idl:
3813         * page/Location.idl:
3814         * page/Navigator.idl:
3815         * page/Screen.idl:
3816         * storage/Storage.idl: Updated to use the opaque roots system.
3817
3818 2011-04-22  Nate Chapin  <japhet@chromium.org>
3819
3820         Reviewed by Adam Barth.
3821
3822         Don't use XMLTreeViewer when script is disabled (it uses Javascript
3823         to build a prettified version of the xml document).
3824         https://bugs.webkit.org/show_bug.cgi?id=59113
3825
3826         * xml/XMLTreeViewer.cpp:
3827         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
3828
3829 2011-04-22  Sheriff Bot  <webkit.review.bot@gmail.com>
3830
3831         Unreviewed, rolling out r84725 and r84728.
3832         http://trac.webkit.org/changeset/84725
3833         http://trac.webkit.org/changeset/84728
3834         https://bugs.webkit.org/show_bug.cgi?id=59270
3835
3836         It broke http/tests/appcache tests (Requested by Ossy on
3837         #webkit).
3838
3839         * bindings/js/JSDOMWindowCustom.cpp:
3840         (WebCore::JSDOMWindow::visitChildren):
3841         * bindings/js/JSNavigatorCustom.cpp:
3842         (WebCore::JSNavigator::visitChildren):
3843         * bindings/scripts/CodeGeneratorJS.pm:
3844         * css/StyleMedia.h:
3845         * css/StyleMedia.idl:
3846         * loader/appcache/DOMApplicationCache.idl:
3847         * page/BarInfo.idl:
3848         * page/Console.idl:
3849         * page/DOMSelection.idl:
3850         * page/DOMWindow.h:
3851         (WebCore::DOMWindow::optionalScreen):
3852         (WebCore::DOMWindow::optionalSelection):
3853         (WebCore::DOMWindow::optionalHistory):
3854         (WebCore::DOMWindow::optionalCrypto):
3855         (WebCore::DOMWindow::optionalLocationbar):
3856         (WebCore::DOMWindow::optionalMenubar):
3857         (WebCore::DOMWindow::optionalPersonalbar):
3858         (WebCore::DOMWindow::optionalScrollbars):
3859         (WebCore::DOMWindow::optionalStatusbar):
3860         (WebCore::DOMWindow::optionalToolbar):
3861         (WebCore::DOMWindow::optionalConsole):
3862         (WebCore::DOMWindow::optionalNavigator):
3863         (WebCore::DOMWindow::optionalLocation):
3864         (WebCore::DOMWindow::optionalMedia):
3865         (WebCore::DOMWindow::optionalSessionStorage):
3866         (WebCore::DOMWindow::optionalLocalStorage):
3867         (WebCore::DOMWindow::optionalPerformance):
3868         * page/Geolocation.idl:
3869         * page/History.idl:
3870         * page/Location.idl:
3871         * page/Navigator.h:
3872         (WebCore::Navigator::optionalGeolocation):
3873         * page/Navigator.idl:
3874         * page/Screen.idl:
3875         * storage/Storage.idl:
3876
3877 2011-04-22  Dimitri Glazkov  <dglazkov@chromium.org>
3878
3879         Reviewed by Kent Tamura.
3880
3881         Change SVG-related shadow root checks to use isSVGShadowRoot.
3882         https://bugs.webkit.org/show_bug.cgi?id=59237
3883
3884         Covered by existing tests, no behavior change.
3885
3886         * css/CSSStyleSelector.cpp:
3887         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Use isSVGShadowRoot.
3888         * svg/SVGUseElement.cpp:
3889         (WebCore::ShadowTreeUpdateBlocker::while): Ditto.
3890         * svg/animation/SVGSMILElement.cpp:
3891         (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
3892
3893 2011-04-22  Geoffrey Garen  <ggaren@apple.com>
3894
3895         Mac build fix.
3896
3897         * page/DOMWindow.h:
3898         (WebCore::DOMWindow::optionalApplicationCache): Restored this function,
3899         which is used after all.
3900
3901 2011-04-22  Geoffrey Garen  <ggaren@apple.com>
3902
3903         Mac build fix.
3904
3905         * page/DOMWindow.h:
3906         (WebCore::DOMWindow::optionalApplicationCache): Restored this function,
3907         which is used after all.
3908
3909 2011-04-22  Geoffrey Garen  <ggaren@apple.com>
3910
3911         Reviewed by Oliver Hunt.
3912
3913         Removed a use of markDOMObjectWrapper: DOMWindow
3914         https://bugs.webkit.org/show_bug.cgi?id=59260
3915
3916         * bindings/js/JSDOMWindowCustom.cpp:
3917         (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
3918         we use the opaque roots system now.
3919
3920         * bindings/js/JSNavigatorCustom.cpp: Ditto.
3921
3922         * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
3923         whose opaque roots are frames.
3924
3925         * css/StyleMedia.h:
3926         (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.
3927
3928         * css/StyleMedia.idl:
3929         * loader/appcache/DOMApplicationCache.idl:
3930         * page/BarInfo.idl:
3931         * page/Console.idl:
3932         * page/DOMSelection.idl:
3933         * page/Geolocation.idl:
3934         * page/History.idl:
3935         * page/Location.idl:
3936         * page/Navigator.idl:
3937         * page/Screen.idl:
3938         * storage/Storage.idl: Updated to use the opaque roots system.
3939
3940 2011-04-22  Xiaomei Ji  <xji@chromium.org>
3941
3942         Reviewed by Ryosuke Niwa.
3943
3944         move caret by word in visual order returns wrong result when caret itself is at word boundary.
3945         https://bugs.webkit.org/show_bug.cgi?id=58504.
3946
3947         positionBeforeNextWord should take care that the current position is after current word.
3948         positionAfterPreviousWord should take care that the current positin is before current word.
3949
3950         * editing/visible_units.cpp:
3951         (WebCore::positionBeforeNextWord):
3952         (WebCore::positionAfterPreviousWord):
3953
3954 2011-04-19  Jer Noble  <jer.noble@apple.com>
3955
3956         Reviewed by Daniel Bates.
3957
3958         Full Screen from within an <iframe> does not cause <iframe> to resize.
3959         https://bugs.webkit.org/show_bug.cgi?id=58638
3960
3961         Tests: fullscreen/full-screen-frameset.html
3962
3963         * css/CSSStyleSelector.cpp:
3964         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Add the 
3965             -webkit-full-screen pseudo class to frame elements which contain
3966             full screen elements.
3967         * css/fullscreen.css:
3968         (iframe:-webkit-full-screen): Add iframe-specific styling rules.
3969         * dom/Document.cpp:
3970         (WebCore::Document::setContainsFullScreenElementRecursively): Added.  Walk up each
3971             successive document owner element, calling setContainsFullScreenElement() if 
3972             owner is a frame element.
3973         (WebCore::Document::fullScreenIsAllowedForElement): Use the new Element::isFrameElementBase
3974             call instead of checking the element's tag name.
3975         (WebCore::Document::webkitWillEnterFullScreenForElement): Mark any containing
3976             iframes as containing a full screen element.
3977         (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
3978         * dom/Element.h:
3979         (WebCore::Element::isFrameElementBase): Added.
3980         * html/HTMLFrameElement.h:
3981         (WebCore::HTMLFrameElement::allowFullScreen): Disable full screen from within
3982             HTMLFrameElements.
3983         * html/HTMLFrameElementBase.cpp:
3984         (WebCore::HTMLFrameElementBase::setContainsFullScreenElement): Added.
3985         * html/HTMLFrameElementBase.h:
3986         (WebCore::HTMLFrameElementBase::containsFullScreenElement): Added.
3987         (WebCore::HTMLFrameElementBase::isFrameElementBase): Added.
3988
3989 2011-04-22  Michael Saboff  <msaboff@apple.com>
3990
3991         Reviewed by Maciej Stachowiak.
3992
3993         Creating copy of ContainerNode's when inserting or removing is inefficient
3994         https://bugs.webkit.org/show_bug.cgi?id=58695
3995
3996         Eliminated node copying in willRemove() and insertedIntoDocument().
3997
3998         No new tests as this is a more efficient implementation of
3999         existing code that is covered by existing tests.
4000
4001         * dom/ContainerNode.cpp:
4002         (WebCore::ContainerNode::willRemove): Changed method to use
4003         RefPtr<> to protect against modification during removal.
4004         (WebCore::ContainerNode::insertedIntoDocument): Changed method to use
4005         RefPtr<> and two other deletion checks to protect against 
4006         modification during insertion.
4007
4008 2011-04-22  Geoffrey Garen  <ggaren@apple.com>
4009
4010         Reviewed by Sam Weinig.
4011
4012         We have an autogenerator, so use it
4013         https://bugs.webkit.org/show_bug.cgi?id=59247
4014
4015         * bindings/js/JSCSSRuleCustom.cpp:
4016         * bindings/js/JSCSSRuleListCustom.cpp:
4017         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4018         * bindings/js/JSCSSValueCustom.cpp:
4019         * bindings/js/JSCanvasRenderingContextCustom.cpp:
4020         * bindings/js/JSDOMImplementationCustom.cpp:
4021         * bindings/js/JSDOMStringMapCustom.cpp:
4022         * bindings/js/JSHTMLCollectionCustom.cpp:
4023         * bindings/js/JSNamedNodeMapCustom.cpp:
4024         * bindings/js/JSNodeCustom.h:
4025         * bindings/js/JSNodeListCustom.cpp:
4026         * bindings/js/JSStyleSheetCustom.cpp:
4027         * bindings/js/JSStyleSheetListCustom.cpp: Removed repetitive hand-written code.
4028
4029         * bindings/scripts/CodeGeneratorJS.pm: Augmented autogenerator to do the job.
4030
4031         * css/CSSRule.idl:
4032         * css/CSSRuleList.idl:
4033         * css/CSSStyleDeclaration.idl:
4034         * css/CSSValue.idl:
4035         * css/MediaList.idl:
4036         * css/StyleSheet.idl:
4037         * css/StyleSheetList.idl:
4038         * dom/DOMImplementation.idl:
4039         * dom/DOMStringMap.idl:
4040         * dom/NamedNodeMap.idl:
4041         * dom/Node.idl:
4042         * dom/NodeList.idl:
4043         * html/DOMTokenList.idl:
4044         * html/HTMLCollection.idl:
4045         * html/canvas/CanvasRenderingContext.idl: Updated attributes to plug into
4046         the autogenerator.
4047
4048 2011-04-22  Beth Dakin  <bdakin@apple.com>
4049
4050         Reviewed by Maciej Stachowiak.
4051
4052         https://bugs.webkit.org/show_bug.cgi?id=59223
4053         REGRESSION (r82185): iframe not displayed after navigation back to cached page
4054
4055         Manual test added.
4056         * manual-tests/frame-layout-on-back.html: Added.
4057         * manual-tests/resources/empty-document-goes-back.html: Added.
4058         * manual-tests/resources/simple-iframe.html: Added.
4059
4060 2011-04-22  Yael Aharon  <yael.aharon@nokia.com>
4061
4062         Reviewed by Sam Weinig.
4063
4064         HTMLFormControlElement::labels should allow custom attributes.
4065         https://bugs.webkit.org/show_bug.cgi?id=59128
4066
4067         Cache the labels list when it is created and keep using it for future
4068         labels calls.
4069
4070         Test: fast/forms/labels-custom-property.html
4071
4072         * html/HTMLFormControlElement.cpp:
4073         (WebCore::HTMLFormControlElement::labels):
4074
4075 2011-04-22  Adrienne Walker  <enne@google.com>
4076
4077         Reviewed by James Robinson.
4078
4079         [chromium] Remove minimum texture size for compositor tiling
4080         https://bugs.webkit.org/show_bug.cgi?id=59236
4081
4082         This was mistakenly committed in r83915 and causes bad filtering
4083         on very small textures.
4084
4085         Tests: compositing/images/content-image-change.html
4086
4087         * platform/graphics/chromium/LayerTilerChromium.cpp:
4088         (WebCore::LayerTilerChromium::setTileSize):
4089
4090 2011-04-22  Beth Dakin  <bdakin@apple.com>
4091
4092         Reviewed by Maciej Stachowiak.
4093
4094         https://bugs.webkit.org/show_bug.cgi?id=59223
4095         REGRESSION (r82185): iframe not displayed after navigation back to cached page
4096         -and corresponding-
4097         <rdar://problem/9323763>
4098
4099         Cache the scroll position in Document::setInPageCache() instead of 
4100         FrameView::resetScrollbarsAndClearContentsSize(), and only clear the contents size 
4101         for the mainFrame(). Still resetScrollbars() for other frames, which matches pre-
4102         r82185 code.
4103         * dom/Document.cpp:
4104         (WebCore::Document::setInPageCache):
4105         * page/FrameView.cpp:
4106         (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
4107
4108 2011-04-22  Joseph Pecoraro  <joepeck@webkit.org>
4109
4110         Reviewed by Kent Tamura.
4111
4112         Let the RenderTheme decide if an input type should have a spinner
4113         https://bugs.webkit.org/show_bug.cgi?id=59246