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