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