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