da8fd221c1fd1f365d6a1ec76eb874b3d5c8c27e
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-04-15  MORITA Hajime  <morrita@google.com>
2
3         Reviewed by Adam Barth.
4
5         REGRESSION: <progress> doesn't animate if it doesn't have value
6         https://bugs.webkit.org/show_bug.cgi?id=58693
7
8         The initial value of RenderProgress::m_position is accidentally same as
9         the indeterminate value, that makes update code on updateFromElement() skipped.
10         This change set unique invalid value for the initial value of m_position.
11         
12         No new tests. Testing animated bar is not possible with DRT.
13
14         * html/HTMLProgressElement.cpp:
15         (WebCore::HTMLProgressElement::position):
16         * html/HTMLProgressElement.h:
17         * rendering/RenderProgress.cpp:
18         (WebCore::RenderProgress::RenderProgress):
19         (WebCore::RenderProgress::isDeterminate):
20
21 2011-04-18  MORITA Hajime  <morrita@google.com>
22
23         Reviewed by Eric Seidel.
24
25         REGRESSION: [Chromium Win] details-add-summary-1.html start crashing after r84039
26         https://bugs.webkit.org/show_bug.cgi?id=58791
27         
28         On refreshMainSummary(), findMainSummary() possibly releases oldSummary.
29         We should guard it again RefPtr.
30
31         * html/HTMLDetailsElement.cpp:
32         (WebCore::HTMLDetailsElement::refreshMainSummary):
33
34 2011-04-18  Antti Koivisto  <antti@apple.com>
35
36         Reviewed by Simon Fraser.
37
38         CSSSelector double frees
39         https://bugs.webkit.org/show_bug.cgi?id=56124
40         <rdar://problem/9119036>
41
42         In all stacks this is occuring when the document is kept alive by the guard ref only
43         and the node holding it is deleted.
44
45         As a speculative fix, clear the document stylesheets when it turns into a guard ref zombie.
46         This has a pretty good chance of fixing the actual bug. At minimum it will move the
47         crash to an earlier, more easily traceble point.
48
49         No tests, crash stacks only, no idea how to reproduce.
50
51         * dom/Document.cpp:
52         (WebCore::Document::removedLastRef):
53
54 2011-04-18  Alexander Pavlov  <apavlov@chromium.org>
55
56         Reviewed by Yury Semikhatsky.
57
58         Web Inspector: Backspace in the Console is broken
59         https://bugs.webkit.org/show_bug.cgi?id=58764
60
61         * inspector/front-end/inspector.js:
62         (WebInspector.documentKeyDown):
63
64 2011-04-18  Hans Wennborg  <hans@chromium.org>
65
66         Reviewed by Steve Block.
67
68         LevelDB backend for IndexedDB
69         https://bugs.webkit.org/show_bug.cgi?id=57372
70
71         Only available behind a run-time flag. Covered by existing layout
72         tests.
73
74         * Android.mk:
75         * CMakeLists.txt:
76         * GNUmakefile.am:
77         * GNUmakefile.list.am:
78         * WebCore.gyp/WebCore.gyp:
79         * WebCore.gypi:
80         * WebCore.pri:
81         * WebCore.pro:
82         * WebCore.xcodeproj/project.pbxproj:
83         * platform/leveldb/LevelDBComparator.h: Added.
84         (WebCore::LevelDBComparator::~LevelDBComparator):
85         * platform/leveldb/LevelDBDatabase.cpp: Added.
86         (WebCore::makeSlice):
87         (WebCore::makeLevelDBSlice):
88         (WebCore::makeVector):
89         (WebCore::LevelDBDatabase::LevelDBDatabase):
90         (WebCore::LevelDBDatabase::~LevelDBDatabase):
91         (WebCore::LevelDBDatabase::open):
92         (WebCore::LevelDBDatabase::put):
93         (WebCore::LevelDBDatabase::remove):
94         (WebCore::LevelDBDatabase::get):
95         (WebCore::LevelDBDatabase::newIterator):
96         * platform/leveldb/LevelDBDatabase.h: Added.
97         * platform/leveldb/LevelDBIterator.cpp: Added.
98         (WebCore::LevelDBIterator::~LevelDBIterator):
99         (WebCore::LevelDBIterator::LevelDBIterator):
100         (WebCore::makeSlice):
101         (WebCore::makeLevelDBSlice):
102         (WebCore::LevelDBIterator::isValid):
103         (WebCore::LevelDBIterator::seekToLast):
104         (WebCore::LevelDBIterator::seek):
105         (WebCore::LevelDBIterator::next):
106         (WebCore::LevelDBIterator::prev):
107         (WebCore::LevelDBIterator::key):
108         (WebCore::LevelDBIterator::value):
109         * platform/leveldb/LevelDBIterator.h: Added.
110         * platform/leveldb/LevelDBSlice.h: Added.
111         (WebCore::LevelDBSlice::LevelDBSlice):
112         (WebCore::LevelDBSlice::~LevelDBSlice):
113         (WebCore::LevelDBSlice::begin):
114         (WebCore::LevelDBSlice::end):
115         * storage/IDBLevelDBBackingStore.cpp:
116         (WebCore::encodeByte):
117         (WebCore::maxIDBKey):
118         (WebCore::minIDBKey):
119         (WebCore::encodeInt):
120         (WebCore::decodeInt):
121         (WebCore::encodeVarInt):
122         (WebCore::decodeVarInt):
123         (WebCore::encodeString):
124         (WebCore::decodeString):
125         (WebCore::encodeStringWithLength):
126         (WebCore::decodeStringWithLength):
127         (WebCore::encodeDouble):
128         (WebCore::decodeDouble):
129         (WebCore::encodeIDBKey):
130         (WebCore::decodeIDBKey):
131         (WebCore::extractEncodedIDBKey):
132         (WebCore::compareEncodedIDBKeys):
133         (WebCore::getInt):
134         (WebCore::putInt):
135         (WebCore::getString):
136         (WebCore::putString):
137         (WebCore::KeyPrefix::SchemaVersionKey::encode):
138         (WebCore::KeyPrefix::MaxDatabaseIdKey::encode):
139         (WebCore::KeyPrefix::DatabaseFreeListKey::DatabaseFreeListKey):
140         (WebCore::KeyPrefix::DatabaseFreeListKey::decode):
141         (WebCore::KeyPrefix::DatabaseFreeListKey::encode):
142         (WebCore::KeyPrefix::DatabaseFreeListKey::databaseId):
143         (WebCore::KeyPrefix::DatabaseFreeListKey::compare):
144         (WebCore::KeyPrefix::DatabaseNameKey::decode):
145         (WebCore::KeyPrefix::DatabaseNameKey::encode):
146         (WebCore::KeyPrefix::DatabaseNameKey::origin):
147         (WebCore::KeyPrefix::DatabaseNameKey::databaseName):
148         (WebCore::KeyPrefix::DatabaseNameKey::compare):
149         (WebCore::KeyPrefix::DatabaseMetaDataKey::encode):
150         (WebCore::KeyPrefix::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
151         (WebCore::KeyPrefix::ObjectStoreMetaDataKey::decode):
152         (WebCore::KeyPrefix::ObjectStoreMetaDataKey::encode):
153         (WebCore::KeyPrefix::ObjectStoreMetaDataKey::objectStoreId):
154         (WebCore::KeyPrefix::ObjectStoreMetaDataKey::metaDataType):
155         (WebCore::KeyPrefix::ObjectStoreMetaDataKey::compare):
156         (WebCore::KeyPrefix::IndexMetaDataKey::IndexMetaDataKey):
157         (WebCore::KeyPrefix::IndexMetaDataKey::decode):
158         (WebCore::KeyPrefix::IndexMetaDataKey::encode):
159         (WebCore::KeyPrefix::IndexMetaDataKey::compare):
160         (WebCore::KeyPrefix::IndexMetaDataKey::indexId):
161         (WebCore::KeyPrefix::IndexMetaDataKey::metaDataType):
162         (WebCore::KeyPrefix::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
163         (WebCore::KeyPrefix::ObjectStoreFreeListKey::decode):
164         (WebCore::KeyPrefix::ObjectStoreFreeListKey::encode):
165         (WebCore::KeyPrefix::ObjectStoreFreeListKey::objectStoreId):
166         (WebCore::KeyPrefix::ObjectStoreFreeListKey::compare):
167         (WebCore::KeyPrefix::IndexFreeListKey::IndexFreeListKey):
168         (WebCore::KeyPrefix::IndexFreeListKey::decode):
169         (WebCore::KeyPrefix::IndexFreeListKey::encode):
170         (WebCore::KeyPrefix::IndexFreeListKey::compare):
171         (WebCore::KeyPrefix::IndexFreeListKey::objectStoreId):
172         (WebCore::KeyPrefix::IndexFreeListKey::indexId):
173         (WebCore::KeyPrefix::ObjectStoreNamesKey::decode):
174         (WebCore::KeyPrefix::ObjectStoreNamesKey::encode):
175         (WebCore::KeyPrefix::ObjectStoreNamesKey::compare):
176         (WebCore::KeyPrefix::ObjectStoreNamesKey::objectStoreName):
177         (WebCore::KeyPrefix::IndexNamesKey::IndexNamesKey):
178         (WebCore::KeyPrefix::IndexNamesKey::decode):
179         (WebCore::KeyPrefix::IndexNamesKey::encode):
180         (WebCore::KeyPrefix::IndexNamesKey::compare):
181         (WebCore::KeyPrefix::IndexNamesKey::indexName):
182         (WebCore::KeyPrefix::ObjectStoreDataKey::decode):
183         (WebCore::KeyPrefix::ObjectStoreDataKey::encode):
184         (WebCore::KeyPrefix::ObjectStoreDataKey::compare):
185         (WebCore::KeyPrefix::ObjectStoreDataKey::userKey):
186         (WebCore::KeyPrefix::ExistsEntryKey::decode):
187         (WebCore::KeyPrefix::ExistsEntryKey::encode):
188         (WebCore::KeyPrefix::ExistsEntryKey::compare):
189         (WebCore::KeyPrefix::ExistsEntryKey::userKey):
190         (WebCore::KeyPrefix::IndexDataKey::IndexDataKey):
191         (WebCore::KeyPrefix::IndexDataKey::decode):
192         (WebCore::KeyPrefix::IndexDataKey::encode):
193         (WebCore::KeyPrefix::IndexDataKey::encodeMaxKey):
194         (WebCore::KeyPrefix::IndexDataKey::compare):
195         (WebCore::KeyPrefix::IndexDataKey::databaseId):
196         (WebCore::KeyPrefix::IndexDataKey::objectStoreId):
197         (WebCore::KeyPrefix::IndexDataKey::indexId):
198         (WebCore::KeyPrefix::IndexDataKey::userKey):
199         (WebCore::KeyPrefix::realCompare):
200         (WebCore::KeyPrefix::compareKeys):
201         (WebCore::KeyPrefix::compareIndexKeys):
202         (WebCore::KeyPrefix::Comparator::compare):
203         (WebCore::KeyPrefix::Comparator::name):
204         (WebCore::setUpMetadata):
205         (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
206         (WebCore::IDBLevelDBBackingStore::open):
207         (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
208         (WebCore::getNewDatabaseId):
209         (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
210         (WebCore::IDBLevelDBBackingStore::getObjectStores):
211         (WebCore::getNewObjectStoreId):
212         (WebCore::IDBLevelDBBackingStore::createObjectStore):
213         (WebCore::deleteRange):
214         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
215         (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
216         (WebCore::getNewVersionNumber):
217         (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
218         (WebCore::IDBLevelDBBackingStore::clearObjectStore):
219         (WebCore::IDBLevelDBBackingStore::createInvalidRecordIdentifier):
220         (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
221         (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
222         (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
223         (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
224         (WebCore::IDBLevelDBBackingStore::getIndexes):
225         (WebCore::getNewIndexId):
226         (WebCore::IDBLevelDBBackingStore::createIndex):
227         (WebCore::IDBLevelDBBackingStore::deleteIndex):
228         (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
229         (WebCore::findGreatestKeyLessThan):
230         (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
231         (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
232         (WebCore::versionExists):
233         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
234         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
235         (WebCore::findLastIndexKeyEqualTo):
236         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
237         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
238         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
239         (WebCore::IDBLevelDBBackingStore::createTransaction):
240         * storage/IDBLevelDBBackingStore.h:
241
242 2011-04-18  Pavel Feldman  <pfeldman@google.com>
243
244         Reviewed by Yury Semikhatsky.
245
246         Web Inspector: add test for CSS-resource binding.
247         https://bugs.webkit.org/show_bug.cgi?id=58786
248
249         Test: inspector/styles/styles-history.html
250
251         * inspector/InspectorCSSAgent.cpp:
252         (WebCore::InspectorCSSAgent::setPropertyText):
253         (WebCore::InspectorCSSAgent::toggleProperty):
254         * inspector/InspectorStyleSheet.cpp:
255         (WebCore::InspectorStyle::setPropertyText):
256         (WebCore::InspectorStyle::toggleProperty):
257         (WebCore::InspectorStyleSheet::setPropertyText):
258         (WebCore::InspectorStyleSheet::toggleProperty):
259         * inspector/InspectorStyleSheet.h:
260         * inspector/front-end/CSSStyleModel.js:
261         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.if):
262         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.mycallback):
263         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
264         (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
265         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
266         (WebInspector.CSSProperty.prototype.setText.callback):
267         (WebInspector.CSSProperty.prototype.setText):
268
269 2011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
270
271         Unreviewed, rolling out r83996.
272         http://trac.webkit.org/changeset/83996
273         https://bugs.webkit.org/show_bug.cgi?id=58790
274
275         layout test editing/selection/move-by-word-visually.html is
276         failing (Requested by jknotten on #webkit).
277
278         * editing/visible_units.cpp:
279         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
280         (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
281         (WebCore::previousWordBreakInBox):
282         (WebCore::leftWordBoundary):
283         (WebCore::rightWordBoundary):
284         (WebCore::leftWordPosition):
285         (WebCore::rightWordPosition):
286
287 2011-04-18  Adam Bergkvist  <adam.bergkvist@ericsson.com>
288
289         Reviewed by Daniel Bates.
290
291         Modify make_names.pl to not include conditional includes unconditionally
292         https://bugs.webkit.org/show_bug.cgi?id=53672
293
294         Fixed conditional includes being unconditionally included.
295
296         No new tests (no change in functionality)
297
298         * dom/make_names.pl:
299             - Modified printJSElementIncludes() to only print unconditional element includes.
300             - Modified printElementIncludes() to only print unconditional element includes.
301             - Added printConditionalElementIncludes() which takes care of printing conditional element includes.
302
303 2011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
304
305         Unreviewed, rolling out r83803.
306         http://trac.webkit.org/changeset/83803
307         https://bugs.webkit.org/show_bug.cgi?id=58782
308
309         Caused focus rings to appear in youtube videos (Requested by
310         inferno-sec on #webkit).
311
312         * rendering/RenderWidget.cpp:
313         (WebCore::RenderWidget::paint):
314
315 2011-04-18  Alexander Pavlov  <apavlov@chromium.org>
316
317         Reviewed by Pavel Feldman.
318
319         Web Inspector: Need a workaround for bug 58422
320         https://bugs.webkit.org/show_bug.cgi?id=58780
321
322         Instead of the A:before content, the link text is displayed as the A tag content.
323
324         * inspector/front-end/StylesSidebarPane.js:
325         (WebInspector.StylePropertiesSection.linkifyUncopyable):
326         (WebInspector.StylePropertiesSection):
327         * inspector/front-end/inspector.css:
328
329 2011-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>
330
331         Unreviewed. Fix WebKit2 GTK build after 82465.
332
333         * platform/gtk/LocalizedStringsGtk.cpp:
334         (WebCore::localizedString):
335
336 2011-04-18  Andrey Adaikin  <aandrey@google.com>
337
338         Reviewed by Yury Semikhatsky.
339
340         Web Inspector: TAB should not move focus from the text editor while live editing
341         https://bugs.webkit.org/show_bug.cgi?id=58537
342
343         * inspector/front-end/TextViewer.js:
344         (WebInspector.TextViewer.prototype._registerShortcuts):
345         (WebInspector.TextViewer.prototype._cancelEditing):
346         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
347         (WebInspector.TextEditorMainPanel.prototype.handleTabKeyPress):
348         (WebInspector.TextEditorMainPanel.prototype._setCaretLocation):
349         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
350         (WebInspector.TextEditorMainPanel.prototype._setText):
351
352 2011-04-18  Alexander Pavlov  <apavlov@chromium.org>
353
354         Reviewed by Yury Semikhatsky.
355
356         Web Inspector: Incorrect content area dimensions in Metrics pane for box-sizing: border-box
357         https://bugs.webkit.org/show_bug.cgi?id=58551
358
359         Test: inspector/styles/metrics-box-sizing.html
360
361         * inspector/front-end/MetricsSidebarPane.js:
362         (WebInspector.MetricsSidebarPane.prototype._getPropertyValueAsPx):
363         (WebInspector.MetricsSidebarPane.prototype._getBox):
364         (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaWidthPx):
365         (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaHeightPx):
366         (WebInspector.MetricsSidebarPane.prototype._update):
367         (WebInspector.MetricsSidebarPane.prototype.startEditing):
368         (WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback):
369         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
370
371 2011-04-18  Ilya Tikhonovsky  <loislo@chromium.org>
372
373         Reviewed by Yury Semikhatsky.
374
375         Web Inspector: Database agent stops to propagate it's events after navigation.
376         https://bugs.webkit.org/show_bug.cgi?id=58776
377
378         * inspector/InspectorAgent.cpp:
379         (WebCore::InspectorAgent::InspectorAgent):
380         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
381         * inspector/InspectorDatabaseAgent.cpp:
382         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
383         (WebCore::InspectorDatabaseAgent::clearFrontend):
384         (WebCore::InspectorDatabaseAgent::enable):
385         (WebCore::InspectorDatabaseAgent::disable):
386         (WebCore::InspectorDatabaseAgent::restore):
387         * inspector/InspectorDatabaseAgent.h:
388         (WebCore::InspectorDatabaseAgent::create):
389
390 2011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
391
392         Unreviewed, rolling out r83968.
393         http://trac.webkit.org/changeset/83968
394         https://bugs.webkit.org/show_bug.cgi?id=58769
395
396         Breaks Backspace in Web Inspector console (Requested by
397         apavlov on #webkit).
398
399         * inspector/front-end/inspector.js:
400         (WebInspector.documentKeyDown):
401
402 2011-04-15  Yury Semikhatsky  <yurys@chromium.org>
403
404         Reviewed by Pavel Feldman.
405
406         Web Inspector: introduce WorkerInspectorController
407         https://bugs.webkit.org/show_bug.cgi?id=58668
408
409         WorkerInspectorController will be owned by WorkerContext and will hold all inspector
410         agents and will also manage connection to the inspector frontend.
411
412         * CMakeLists.txt:
413         * GNUmakefile.list.am:
414         * WebCore.gypi:
415         * WebCore.pro:
416         * WebCore.vcproj/WebCore.vcproj:
417         * WebCore.xcodeproj/project.pbxproj:
418         * bindings/js/ScriptState.cpp:
419         (WebCore::scriptStateFromWorkerContext):
420         * bindings/js/ScriptState.h:
421         * bindings/v8/ScriptState.cpp:
422         (WebCore::scriptStateFromWorkerContext):
423         * bindings/v8/ScriptState.h:
424         * inspector/InspectorState.cpp:
425         (WebCore::InspectorState::updateCookie):
426         * inspector/WorkerInspectorController.cpp: Added.
427         (WebCore::WorkerInspectorController::WorkerInspectorController):
428         (WebCore::WorkerInspectorController::~WorkerInspectorController):
429         (WebCore::WorkerInspectorController::connectFrontend):
430         (WebCore::WorkerInspectorController::disconnectFrontend):
431         (WebCore::WorkerInspectorController::dispatchMessageFromFrontend):
432         * inspector/WorkerInspectorController.h: Copied from Source/WebCore/bindings/js/ScriptState.h.
433         * workers/WorkerContext.cpp:
434         (WebCore::WorkerContext::WorkerContext):
435         * workers/WorkerContext.h:
436         (WebCore::WorkerContext::workerInspectorController):
437
438 2011-04-17  Thierry Reding  <thierry.reding@avionic-design.de>
439
440         Reviewed by Adam Barth.
441
442         Fix build with GCC 4.6.
443
444         * dom/make_names.pl: Execute preprocessor without the -P option. The
445         preprocessor in GCC 4.6 eats empty lines, effectively breaking the
446         parsing performed by this script. Dropping the -P option when invoking
447         the preprocessor keeps the empty lines but as a side-effect also adds
448         additional linemarkers.
449
450         From the cpp manpage:
451
452           -P  Inhibit generation of linemarkers in the output from the
453               preprocessor. This might be useful when running the preprocessor
454               on something that is not C code, and will be sent to a program
455               which might be confused by the linemarkers.
456
457         The linemarkers are not problematic, however, because the script
458         properly handles them by ignoring all lines starting with a #.
459
460 2011-04-17  David Kilzer  <ddkilzer@apple.com>
461
462         <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting
463         <rdar://problem/9268729>
464
465         Reviewed by Dan Bernstein.
466
467         This replaces support for the WebKitEnableHTTPPipelining user
468         default with methods on the WebCore::ResourceRequest class in
469         WebCore, the WebView class in WebKit1, and the WebContext class
470         in WebKit2.  It also removes support for the
471         WebKitForceHTTPPipeliningPriorityHigh user default which was not
472         needed.
473
474         Run these commands if you set the user defaults previously,
475         replacing "BUNDLE.ID" with your application's bundle ID:
476
477             defaults delete BUNDLE.ID WebKitEnableHTTPPipelining
478             defaults delete BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh
479
480         * WebCore.exp.in: Export ResourceRequest::httpPipeliningEnabled()
481         and ResourceRequest::setHTTPPipeliningEnabled().
482
483         * platform/network/ResourceRequestBase.h:
484         (WebCore::isHTTPPipeliningEnabled): Removed declaration.
485         (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed declaration.
486
487         * platform/network/cf/ResourceRequest.h:
488         (WebCore::ResourceRequest::httpPipeliningEnabled): Added declaration.
489         (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added declaration.
490         (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added declaration.
491
492         * platform/network/cf/ResourceRequestCFNet.cpp:
493         (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added.
494         (WebCore::ResourceRequest::httpPipeliningEnabled): Added.
495         (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added.
496         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Switched
497         to use ResourceRequest::httpPipeliningEnabled().
498         (WebCore::readBooleanPreference): Removed.
499         (WebCore::isHTTPPipeliningEnabled): Removed.
500         (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed.
501
502         * platform/network/mac/ResourceRequestMac.mm:
503         (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
504         use ResourceRequest::httpPipeliningEnabled().  Removed check for
505         shouldForceHTTPPipeliningPriorityHigh().
506         (WebCore::ResourceRequest::doUpdatePlatformRequest): Ditto.
507
508 2011-04-17  Dan Bernstein  <mitz@apple.com>
509
510         Reviewed by Maciej Stachowiak.
511
512         REGRESSION (r84096): <br> moved to the right in fast/block/float/032.html
513         https://bugs.webkit.org/show_bug.cgi?id=58736
514
515         * rendering/RenderBlockLineLayout.cpp:
516         (WebCore::RenderBlock::appendFloatingObjectToLastLine): It is enough to extend the float so
517         that it touches the bottom of the previous line, since RenderBlock::markLinesDirtyInBlockRange()
518         always dirties the line after the last one in the range.
519
520 2011-04-17  Patrick Gansterer  <paroga@webkit.org>
521
522         Unreviewed. Add missing include to fix build without precompiled header.
523
524         * rendering/RenderMediaControls.cpp:
525
526 2011-04-17  Daniel Bates  <dbates@webkit.org>
527
528         Attempt to fix the Chromium build after changeset 84110 <http://trac.webkit.org/changeset/84110>
529         (https://bugs.webkit.org/show_bug.cgi?id=57842).
530
531         * loader/cache/CachedResourceLoader.cpp:
532         (WebCore::CachedResourceLoader::canRequest): Rename CachedResource::LinkPrefetch to CachedResource::LinkResource.
533
534 2011-04-17  Patrick Gansterer  <paroga@webkit.org>
535
536         Reviewed by Eric Seidel.
537
538         Remove pthread dependency of GCController
539         https://bugs.webkit.org/show_bug.cgi?id=54833
540
541         * bindings/js/GCController.cpp:
542         (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
543
544 2011-04-17  Gavin Peters  <gavinp@chromium.org>
545
546         Reviewed by Adam Barth.
547
548         Add support for link rel type "subresource"
549         https://bugs.webkit.org/show_bug.cgi?id=57842
550
551         Link rel=prefetch is great for cache warming for resources on
552         subsequent pages, but it launches requests at too low a priority
553         to use for subresources of the current page.
554
555         Particularly after https://bugs.webkit.org/show_bug.cgi?id=51940
556         is implemented, a rel type that launches requests at an higher
557         priority is going to be very useful.  This rel type is in the
558         HTML5 spec at http://wiki.whatwg.org/wiki/RelExtensions .  An
559         expected use case will be for servers to provide subresource hints
560         in link headers, which will allow servers to help make the web
561         faster.
562
563         This feature continues my implementation of the Link header, which
564         we've talked about in WebKit-dev in
565         https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html.
566
567         Tests: fast/dom/HTMLLinkElement/subresource.html
568                http/tests/misc/link-rel-prefetch-and-subresource.html
569
570         * html/HTMLLinkElement.cpp:
571         (WebCore::HTMLLinkElement::~HTMLLinkElement):
572         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
573         (WebCore::HTMLLinkElement::process):
574         (WebCore::HTMLLinkElement::onloadTimerFired):
575         (WebCore::HTMLLinkElement::notifyFinished):
576         * html/HTMLLinkElement.h:
577         (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
578         * loader/cache/CachedResource.cpp:
579         (WebCore::defaultPriorityForResourceType):
580         * loader/cache/CachedResource.h:
581         (WebCore::CachedResource::isLinkResource):
582         * loader/cache/CachedResourceLoader.cpp:
583         (WebCore::createResource):
584         (WebCore::CachedResourceLoader::requestLinkResource):
585         (WebCore::CachedResourceLoader::canRequest):
586         (WebCore::CachedResourceLoader::incrementRequestCount):
587         (WebCore::CachedResourceLoader::decrementRequestCount):
588         * loader/cache/CachedResourceLoader.h:
589         * loader/cache/CachedResourceRequest.cpp:
590         (WebCore::cachedResourceTypeToTargetType):
591         (WebCore::CachedResourceRequest::load):
592
593 2011-04-17  Dan Bernstein  <mitz@apple.com>
594
595         Reviewed by Joseph Pecoraro.
596
597         <rdar://problem/9296211> REGRESSION (r83514): Failing fast/repaint/trailing-floats-root-line-box-overflow.html
598         https://bugs.webkit.org/show_bug.cgi?id=58745
599
600         This is really a regression from r82611, but it went unnoticed due to a mistake in r73385,
601         which was fixed in r83514.
602
603         * rendering/RenderBlockLineLayout.cpp:
604         (WebCore::RenderBlock::layoutInlineChildren): Actually assign the bottom visual overflow to the
605         variable so named, not the top layout overflow.
606
607 2011-04-17  Geoffrey Garen  <ggaren@apple.com>
608
609         Strongly suggested, but not necessarily reviewed, by
610         Sam Weinig and Maciej Stachowiak.
611
612         Renamed DOMObject* => JSDOMWrapper*.
613
614         * bindings/js/DOMWrapperWorld.cpp:
615         (WebCore::isObservable):
616         (WebCore::DOMObjectHandleOwner::finalize):
617         * bindings/js/DOMWrapperWorld.h:
618         * bindings/js/JSArrayBufferViewHelper.h:
619         (WebCore::toJSArrayBufferView):
620         * bindings/js/JSCSSRuleCustom.cpp:
621         (WebCore::toJS):
622         * bindings/js/JSCSSValueCustom.cpp:
623         (WebCore::toJS):
624         * bindings/js/JSDOMBinding.h:
625         (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
626         (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
627         (WebCore::DOMConstructorObject::DOMConstructorObject):
628         (WebCore::createDOMObjectWrapper):
629         (WebCore::getDOMObjectWrapper):
630         * bindings/js/JSDOMWrapper.cpp:
631         (WebCore::JSDOMWrapper::~JSDOMWrapper):
632         * bindings/js/JSDOMWrapper.h:
633         (WebCore::JSDOMWrapper::JSDOMWrapper):
634         * bindings/js/JSDocumentCustom.cpp:
635         (WebCore::JSDocument::location):
636         (WebCore::toJS):
637         * bindings/js/JSEventCustom.cpp:
638         (WebCore::toJS):
639         * bindings/js/JSHTMLCollectionCustom.cpp:
640         (WebCore::toJS):
641         * bindings/js/JSImageDataCustom.cpp:
642         (WebCore::toJS):
643         * bindings/js/JSSVGPathSegCustom.cpp:
644         (WebCore::toJS):
645         * bindings/js/JSStyleSheetCustom.cpp:
646         (WebCore::toJS):
647         * bindings/js/ScriptWrappable.h:
648         (WebCore::ScriptWrappable::wrapper):
649         (WebCore::ScriptWrappable::setWrapper):
650         * bindings/scripts/CodeGeneratorJS.pm:
651
652 2011-04-17  Patrick Gansterer  <paroga@webkit.org>
653
654         Reviewed by Adam Barth.
655
656         Rename PLATFORM(CA) to USE(CA)
657         https://bugs.webkit.org/show_bug.cgi?id=58742
658
659         * config.h:
660         * platform/graphics/ca/TransformationMatrixCA.cpp:
661         * platform/graphics/cg/ImageBufferDataCG.h:
662         * platform/graphics/transforms/TransformationMatrix.h:
663         * platform/mac/WebCoreSystemInterface.h:
664         * rendering/RenderLayerBacking.cpp:
665         (WebCore::RenderLayerBacking::containsPaintedContent):
666         * rendering/RenderLayerCompositor.cpp:
667         (WebCore::RenderLayerCompositor::updateBacking):
668
669 2011-04-17  Young Han Lee  <joybro@company100.net>
670
671         Reviewed by Benjamin Poulain.
672
673         [Texmap] [Qt] Improve readability by using gInVertexAttributeIndex instead of 0.
674         https://bugs.webkit.org/show_bug.cgi?id=58739
675
676         gInVertexAttributeIndex is a constant variable to point the location of
677         "InVertex" attribute of the vertex shaders.
678
679         * platform/graphics/opengl/TextureMapperGL.cpp:
680         (WebCore::TextureMapperGL::drawTexture):
681         (WebCore::TextureMapperGL::paintToTarget):
682
683 2011-04-17  Kinuko Yasuda  <kinuko@chromium.org>
684
685         Not reviewed: Fix copyright (I had submitted the file with wrong
686         copyright line).
687
688         * storage/StorageInfo.idl:
689
690 2011-04-17  Patrick Gansterer  <paroga@webkit.org>
691
692         Reviewed by Adam Barth.
693
694         Rename PLATFORM(CG) to USE(CG)
695         https://bugs.webkit.org/show_bug.cgi?id=58729
696
697         * config.h:
698         * html/HTMLCanvasElement.cpp:
699         (WebCore::HTMLCanvasElement::toDataURL):
700         * html/HTMLCanvasElement.h:
701         * html/canvas/CanvasRenderingContext2D.cpp:
702         (WebCore::CanvasRenderingContext2D::setShadow):
703         (WebCore::CanvasRenderingContext2D::drawTextInternal):
704         * html/canvas/CanvasRenderingContext2D.h:
705         * html/canvas/CanvasStyle.cpp:
706         (WebCore::CanvasStyle::applyStrokeColor):
707         (WebCore::CanvasStyle::applyFillColor):
708         * loader/cache/CachedFont.cpp:
709         * loader/cache/CachedImage.cpp:
710         (WebCore::CachedImage::createImage):
711         * platform/FloatConversion.h:
712         * platform/MIMETypeRegistry.cpp:
713         (WebCore::initializeSupportedImageMIMETypes):
714         (WebCore::initializeSupportedImageMIMETypesForEncoding):
715         * platform/graphics/BitmapImage.h:
716         * platform/graphics/Color.h:
717         * platform/graphics/DashArray.h:
718         * platform/graphics/FloatPoint.h:
719         * platform/graphics/FloatRect.h:
720         * platform/graphics/FloatSize.h:
721         * platform/graphics/FontPlatformData.h:
722         (WebCore::FontPlatformData::FontPlatformData):
723         (WebCore::FontPlatformData::hash):
724         * platform/graphics/GlyphBuffer.h:
725         (WebCore::GlyphBuffer::advanceAt):
726         (WebCore::GlyphBuffer::add):
727         (WebCore::GlyphBuffer::expandLastAdvance):
728         * platform/graphics/Gradient.h:
729         * platform/graphics/GraphicsContext.cpp:
730         (WebCore::GraphicsContext::setLegacyShadow):
731         * platform/graphics/GraphicsContext.h:
732         (WebCore::GraphicsContextState::GraphicsContextState):
733         * platform/graphics/GraphicsContext3D.h:
734         * platform/graphics/Image.cpp:
735         * platform/graphics/Image.h:
736         * platform/graphics/ImageBuffer.cpp:
737         * platform/graphics/ImageBuffer.h:
738         * platform/graphics/ImageBufferData.h:
739         * platform/graphics/ImageSource.h:
740         * platform/graphics/IntPoint.h:
741         * platform/graphics/IntRect.h:
742         * platform/graphics/IntSize.h:
743         * platform/graphics/Path.h:
744         * platform/graphics/Pattern.h:
745         * platform/graphics/SimpleFontData.h:
746         * platform/graphics/cg/ColorCG.cpp:
747         * platform/graphics/cg/FloatPointCG.cpp:
748         * platform/graphics/cg/FloatRectCG.cpp:
749         * platform/graphics/cg/FloatSizeCG.cpp:
750         * platform/graphics/cg/ImageCG.cpp:
751         * platform/graphics/cg/ImageSourceCG.cpp:
752         * platform/graphics/cg/IntPointCG.cpp:
753         * platform/graphics/cg/IntRectCG.cpp:
754         * platform/graphics/cg/IntSizeCG.cpp:
755         * platform/graphics/cg/PDFDocumentImage.cpp:
756         * platform/graphics/cg/PDFDocumentImage.h:
757         * platform/graphics/cg/PathCG.cpp:
758         * platform/graphics/cg/TransformationMatrixCG.cpp:
759         * platform/graphics/chromium/ImageLayerChromium.h:
760         * platform/graphics/chromium/LayerRendererChromium.cpp:
761         * platform/graphics/chromium/LayerRendererChromium.h:
762         * platform/graphics/chromium/PlatformCanvas.cpp:
763         (WebCore::PlatformCanvas::resize):
764         (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
765         (WebCore::PlatformCanvas::Painter::Painter):
766         * platform/graphics/chromium/PlatformCanvas.h:
767         * platform/graphics/chromium/PlatformImage.cpp:
768         (WebCore::PlatformImage::updateFromImage):
769         * platform/graphics/opentype/OpenTypeUtilities.cpp:
770         * platform/graphics/transforms/AffineTransform.h:
771         * platform/graphics/transforms/TransformationMatrix.h:
772         * platform/graphics/win/DIBPixelData.h:
773         * platform/graphics/win/FontCacheWin.cpp:
774         (WebCore::FontCache::platformInit):
775         (WebCore::createGDIFont):
776         (WebCore::FontCache::createFontPlatformData):
777         * platform/graphics/win/FontPlatformDataWin.cpp:
778         (WebCore::FontPlatformData::FontPlatformData):
779         * platform/graphics/win/GraphicsContextWin.cpp:
780         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
781         * platform/graphics/win/SimpleFontDataWin.cpp:
782         * platform/image-decoders/ImageDecoder.cpp:
783         * platform/image-decoders/ImageDecoder.h:
784         * rendering/RenderObject.h:
785         * rendering/svg/RenderSVGResourceFilter.cpp:
786         (WebCore::RenderSVGResourceFilter::postApplyResource):
787         * rendering/svg/RenderSVGResourceGradient.cpp:
788         (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
789         (WebCore::RenderSVGResourceGradient::applyResource):
790         * rendering/svg/RenderSVGResourceGradient.h:
791         * rendering/svg/RenderSVGResourceMasker.cpp:
792         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
793         * rendering/svg/RenderSVGResourcePattern.cpp:
794         (WebCore::RenderSVGResourcePattern::applyResource):
795
796 2011-04-16  Adam Barth  <abarth@webkit.org>
797
798         Reviewed by Sam Weinig.
799
800         about:blank documents in new tabs can XHR anywhere
801         https://bugs.webkit.org/show_bug.cgi?id=58712
802
803         Empty security origins have supposed to be low-privilege, we should
804         mark them as having a unique origin.
805
806         * manual-tests/about-blank-xhr.html: Added.
807         * page/SecurityOrigin.cpp:
808         (WebCore::SecurityOrigin::SecurityOrigin):
809         * page/SecurityOrigin.h:
810
811 2011-04-16  Dan Bernstein  <mitz@apple.com>
812
813         Reviewed by Simon Fraser.
814
815         <rdar://problem/9190108> Crash when hiding a float
816
817         Test: fast/block/float/overhanging-tall-block.html
818
819         * rendering/RenderBlock.cpp:
820         (WebCore::RenderBlock::addOverhangingFloats): Moved the call to childLogicalTop() out of the loop.
821         Capped the logical bottom so that we get the correct maximum.
822         * rendering/RenderBlock.h: Decleared appendFloatingObjectToLastLine().
823         * rendering/RenderBlockLineLayout.cpp:
824         (WebCore::RenderBlock::appendFloatingObjectToLastLine): Added. Ensures correct bookkeeping by
825         extending the float if needed so that it touches the line.
826         (WebCore::RenderBlock::layoutInlineChildren): Changed to call appendFloatingObjectToLastLine().
827         (WebCore::RenderBlock::checkFloatsInCleanLine): Capped the float height so the we mark the right
828         range of lines as dirty.
829         * rendering/RootInlineBox.h:
830         (WebCore::RootInlineBox::appendFloat): Replaced the floats() accessor with this function, which
831         allows the creation of the vector to be combined with appending the first float.
832
833 2011-04-16  Sam Weinig  <sam@webkit.org>
834
835         Reviewed by Simon Fraser.
836
837         Pages in the PageCache don't have the correct visited link coloring after being restored
838         https://bugs.webkit.org/show_bug.cgi?id=58721
839
840         * WebCore.exp.in:
841         Add export of markPagesForVistedLinkStyleRecalc for use by WebKit2.
842
843         * history/CachedPage.cpp:
844         (WebCore::CachedPage::CachedPage):
845         (WebCore::CachedPage::restore):
846         (WebCore::CachedPage::clear):
847         * history/CachedPage.h:
848         (WebCore::CachedPage::markForVistedLinkStyleRecalc):
849         Add bit, set by calling markForVistedLinkStyleRecalc, which forces a visited link
850         style recalc when being restored.
851
852         * history/PageCache.h:
853         * history/PageCache.cpp:
854         (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
855         Mark all pages in the page cache as requiring visited link style recalc.
856
857         * page/PageGroup.cpp:
858         (WebCore::PageGroup::addVisitedLink):
859         (WebCore::PageGroup::removeVisitedLinks):
860         (WebCore::PageGroup::removeAllVisitedLinks):
861         Set dirty bit when changing any visited link information.
862         
863
864 2011-04-16  Leo Yang  <leoyang.webkit@gmail.com>
865
866         Reviewed by Nikolas Zimmermann.
867
868         ASSERT failure when svg <use> element changes href
869         https://bugs.webkit.org/show_bug.cgi?id=58726
870
871         m_resourceId was not empty after the pending resource
872         becomes available. This will trigger the assertion at
873         line 509 of SVGUseElement.cpp when the <use> element's
874         href becomes empty or invalid.
875
876         This patch makes m_resourceId be empty after the pending
877         resource becomes available to avoid assertion failure.
878
879         Test: svg/custom/use-crash-when-href-change.svg
880
881         * svg/SVGUseElement.cpp:
882         (WebCore::SVGUseElement::buildPendingResource):
883
884 2011-04-16  Patrick Gansterer  <paroga@webkit.org>
885
886         Reviewed by Eric Seidel.
887
888         Rename PLATFORM(CAIRO) to USE(CAIRO)
889         https://bugs.webkit.org/show_bug.cgi?id=55192
890
891         * CMakeListsEfl.txt:
892         * config.h:
893         * platform/MIMETypeRegistry.cpp:
894         (WebCore::initializeSupportedImageMIMETypesForEncoding):
895         * platform/graphics/ContextShadow.h:
896         * platform/graphics/DashArray.h:
897         * platform/graphics/FloatRect.h:
898         * platform/graphics/FontPlatformData.h:
899         (WebCore::FontPlatformData::FontPlatformData):
900         (WebCore::FontPlatformData::hash):
901         (WebCore::FontPlatformData::isHashTableDeletedValue):
902         * platform/graphics/GlyphBuffer.h:
903         (WebCore::GlyphBuffer::glyphAt):
904         (WebCore::GlyphBuffer::add):
905         * platform/graphics/Gradient.cpp:
906         * platform/graphics/Gradient.h:
907         * platform/graphics/GraphicsContext.cpp:
908         * platform/graphics/GraphicsContext.h:
909         (WebCore::GraphicsContextState::GraphicsContextState):
910         * platform/graphics/GraphicsContext3D.h:
911         * platform/graphics/ImageBufferData.h:
912         * platform/graphics/ImageSource.h:
913         * platform/graphics/Path.h:
914         * platform/graphics/Pattern.h:
915         * platform/graphics/SimpleFontData.h:
916         * platform/graphics/cairo/DrawErrorUnderline.h:
917         * platform/graphics/cairo/GraphicsContextCairo.cpp:
918         * platform/graphics/cairo/ImageCairo.cpp:
919         * platform/graphics/gstreamer/ImageGStreamer.h:
920         * platform/graphics/transforms/AffineTransform.h:
921         * platform/graphics/transforms/TransformationMatrix.h:
922         * platform/graphics/win/FontCacheWin.cpp:
923         (WebCore::createGDIFont):
924         (WebCore::FontCache::createFontPlatformData):
925         * platform/graphics/win/FontPlatformDataWin.cpp:
926         (WebCore::FontPlatformData::FontPlatformData):
927         * platform/graphics/win/GraphicsContextWin.cpp:
928         * plugins/win/PluginViewWin.cpp:
929         (WebCore::PluginView::paintWindowedPluginIntoContext):
930         * rendering/RenderObject.h:
931
932 2011-04-16  Patrick Gansterer  <paroga@webkit.org>
933
934         Unreviewed WinCE build fix for r84033.
935
936         * platform/win/LocalizedStringsWin.cpp:
937         (WebCore::localizedString):
938
939 2011-04-16  Abhishek Arya  <inferno@chromium.org>
940
941         Reviewed by Nikolas Zimmermann.
942
943         Only allow inline child for SVG text since we cannot
944         handle block childs.
945         https://bugs.webkit.org/show_bug.cgi?id=58678
946
947         Test: svg/text/text-block-child-crash.xhtml
948
949         * rendering/svg/RenderSVGText.cpp:
950         (WebCore::RenderSVGText::isChildAllowed):
951         * rendering/svg/RenderSVGText.h:
952
953 2011-04-15  Ilya Tikhonovsky  <loislo@chromium.org>
954
955         Reviewed by Pavel Feldman.
956
957         Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
958         https://bugs.webkit.org/show_bug.cgi?id=57833
959
960         * inspector/Inspector.json:
961         * inspector/InspectorDatabaseAgent.cpp:
962         (WebCore::InspectorDatabaseAgent::didOpenDatabase):
963         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
964         (WebCore::InspectorDatabaseAgent::setFrontend):
965         (WebCore::InspectorDatabaseAgent::clearFrontend):
966         (WebCore::InspectorDatabaseAgent::enable):
967         (WebCore::InspectorDatabaseAgent::disable):
968         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
969         (WebCore::InspectorDatabaseAgent::executeSQL):
970         * inspector/InspectorDatabaseAgent.h:
971         * inspector/front-end/inspector.js:
972
973 2011-04-15  Adam Barth  <abarth@webkit.org>
974
975         Reviewed by Eric Seidel.
976
977         CSP media-src is missing
978         https://bugs.webkit.org/show_bug.cgi?id=58642
979
980         Yay HTMLMediaElement for having the exact hook we need!
981
982         Tests: http/tests/security/contentSecurityPolicy/media-src-allowed.html
983                http/tests/security/contentSecurityPolicy/media-src-blocked.html
984
985         * html/HTMLMediaElement.cpp:
986         (WebCore::HTMLMediaElement::isSafeToLoadURL):
987             - Although it's tempting to add this branch to the previous
988               if-block, that results in the wrong error message being logged to
989               the console (covered by the "blocked" test).
990         * page/ContentSecurityPolicy.cpp:
991         (WebCore::ContentSecurityPolicy::allowMediaFromSource):
992         (WebCore::ContentSecurityPolicy::addDirective):
993         * page/ContentSecurityPolicy.h:
994             - These changes are routine.
995
996 2011-04-15  Adam Barth  <abarth@webkit.org>
997
998         Reviewed by Eric Seidel.
999
1000         CSP should block string arguments to setTimeout and setInterval unless options eval-script
1001         https://bugs.webkit.org/show_bug.cgi?id=58610
1002
1003         It's somewhat sadness that the JSC and V8 code for setTimeout and
1004         setInterval are so different.  I struggled for a while with how to
1005         handle the worker case, but I decided to punt on it for now.
1006
1007         Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
1008                http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
1009                http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
1010                http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html
1011
1012         * bindings/js/JSDOMWindowCustom.cpp:
1013         (WebCore::JSDOMWindow::setTimeout):
1014         (WebCore::JSDOMWindow::setInterval):
1015         * bindings/js/JSWorkerContextCustom.cpp:
1016         (WebCore::JSWorkerContext::setTimeout):
1017         (WebCore::JSWorkerContext::setInterval):
1018         * bindings/js/ScheduledAction.cpp:
1019         (WebCore::ScheduledAction::create):
1020         * bindings/js/ScheduledAction.h:
1021         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1022         (WebCore::WindowSetTimeoutImpl):
1023         * page/ContentSecurityPolicy.cpp:
1024         (WebCore::ContentSecurityPolicy::allowEval):
1025         * page/ContentSecurityPolicy.h:
1026
1027 2011-04-15  Shishir Agrawal  <shishir@chromium.org>
1028
1029         Reviewed by James Robinson.
1030
1031         Add a flag to guard Page Visibility API changes.
1032         https://bugs.webkit.org/show_bug.cgi?id=58464
1033
1034         * Configurations/FeatureDefines.xcconfig:
1035
1036 2011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
1037
1038         Reviewed by Martin Robinson.
1039
1040         Make plugins compile during WebKit GTK Windows build.
1041         Ifdef properly relevant parts so that the PluginViewGtk compiles on Windows.
1042         https://bugs.webkit.org/show_bug.cgi?id=58580
1043
1044         * plugins/PluginView.cpp:
1045         (WebCore::PluginView::stop):
1046         * plugins/PluginView.h:
1047         * plugins/gtk/PluginViewGtk.cpp:
1048         (WebCore::PluginView::platformGetValue):
1049         (WebCore::PluginView::platformStart):
1050
1051 2011-04-15  MORITA Hajime  <morrita@google.com>
1052
1053         Reviewed by Simon Fraser.
1054
1055         Calls to WebCore::Document::mayCauseFlashOfUnstyledContent make frequently-run drawing methods slower
1056         https://bugs.webkit.org/show_bug.cgi?id=58512
1057         
1058         Manually rolled out r72367 at which mayCauseFlashOfUnstyledContent() was introduced.
1059         This change keeps an small refactoring on
1060         FrameView::shouldUpdate(), which doesn't affect on the behavior.
1061
1062         * dom/Document.cpp:
1063         * dom/Document.h:
1064         * page/FrameView.cpp:
1065         (WebCore::FrameView::invalidateRect):
1066         (WebCore::FrameView::shouldUpdate):
1067         * rendering/RenderBlock.cpp:
1068         (WebCore::RenderBlock::paintContents):
1069         * rendering/RenderLayer.cpp:
1070         (WebCore::RenderLayer::paintLayer):
1071
1072 2011-04-15  Chris Rogers  <crogers@google.com>
1073
1074         Reviewed by Kenneth Russell.
1075
1076         Reduce default kernel size of SincResampler to favor better speed over quality
1077         https://bugs.webkit.org/show_bug.cgi?id=58710
1078
1079         No new tests since audio API is not yet implemented.
1080
1081         * platform/audio/SincResampler.h:
1082
1083 2011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
1084
1085         Reviewed by Martin Robinson.
1086
1087         Expand the ntohs, ntohl, htons and htonl defines for OS(WINDOWS)
1088         These have to be defined for Windows in general, since win32 API
1089         does not provide them.
1090         https://bugs.webkit.org/show_bug.cgi?id=58582
1091
1092         * platform/graphics/WOFFFileFormat.cpp:
1093
1094 2011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
1095
1096         Reviewed by Adam Barth.
1097
1098         Show a console message when X-Frame-Options blocks a load
1099         https://bugs.webkit.org/show_bug.cgi?id=39087
1100
1101         Added console message when X-Frame-Options headers block resource loading
1102
1103         * loader/MainResourceLoader.cpp:
1104         (WebCore::MainResourceLoader::didReceiveResponse):
1105
1106 2011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
1107
1108         Reviewed by Martin Robinson.
1109
1110         Evaluate PLATFORM(GTK) before the all-encompassing OS(WINDOWS)
1111         test. This allows Windows build of WebKit GTK to chose the right
1112         path.
1113         https://bugs.webkit.org/show_bug.cgi?id=58576
1114
1115         * platform/FileSystem.h:
1116
1117 2011-04-08  Luiz Agostini  <luiz.agostini@openbossa.org>
1118
1119         Reviewed by Kenneth Rohde Christiansen.
1120
1121         [Qt] QWebPage MIME type handling inconsistency with other web browsers
1122         https://bugs.webkit.org/show_bug.cgi?id=46968
1123
1124         Implementing mime type sniffing based on
1125         http://tools.ietf.org/html/draft-abarth-mime-sniff-06.
1126
1127         * WebCore.pro:
1128         * platform/network/MIMESniffing.cpp: Added.
1129         (MagicNumbers::dataSizeNeededForImageSniffing):
1130         (MagicNumbers::maskedCompare):
1131         (MagicNumbers::checkSpaceOrBracket):
1132         (MagicNumbers::compare):
1133         (MagicNumbers::findMIMEType):
1134         (MagicNumbers::findSimpleMIMEType):
1135         (MagicNumbers::textOrBinaryTypeSniffingProcedure):
1136         (MagicNumbers::unknownTypeSniffingProcedure):
1137         (MagicNumbers::imageTypeSniffingProcedure):
1138         (MagicNumbers::checkText):
1139         (MagicNumbers::checkRDF):
1140         (MagicNumbers::skipTag):
1141         (MagicNumbers::feedTypeSniffingProcedure):
1142         (MIMESniffer::MIMESniffer):
1143         * platform/network/MIMESniffing.h: Added.
1144         (MIMESniffer::dataSize):
1145         (MIMESniffer::sniff):
1146         (MIMESniffer::isValid):
1147         * platform/network/NetworkingContext.h:
1148         * platform/network/qt/QNetworkReplyHandler.cpp:
1149         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
1150         (WebCore::QNetworkReplyWrapper::release):
1151         (WebCore::QNetworkReplyWrapper::receiveMetaData):
1152         (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType):
1153         (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
1154         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1155         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
1156         (WebCore::QNetworkReplyHandler::start):
1157         * platform/network/qt/QNetworkReplyHandler.h:
1158         (WebCore::QNetworkReplyWrapper::advertisedMIMEType):
1159         (WebCore::QNetworkReplyWrapper::mimeType):
1160         * platform/network/qt/QtMIMETypeSniffer.cpp: Added.
1161         (QtMIMETypeSniffer::QtMIMETypeSniffer):
1162         (QtMIMETypeSniffer::sniff):
1163         (QtMIMETypeSniffer::trySniffing):
1164         * platform/network/qt/QtMIMETypeSniffer.h: Added.
1165         (QtMIMETypeSniffer::mimeType):
1166         (QtMIMETypeSniffer::isFinished):
1167
1168 2011-04-15  Emil A Eklund  <eae@chromium.org>
1169
1170         Reviewed by Dimitri Glazkov.
1171
1172         input field with focus makes appendChild operation ~42x slower
1173         https://bugs.webkit.org/show_bug.cgi?id=57059
1174
1175         Change ContainerNode::cloneChildNodes to only disable the
1176         deleteButtonController if the container itself (or any of its children)
1177         is being edited. Thus avoiding a reflow in cases where it's not.
1178
1179         Test: perf/clone-with-focus.html
1180
1181         * dom/ContainerNode.cpp:
1182         (WebCore::ContainerNode::cloneChildNodes):
1183
1184 2011-04-15  Kinuko Yasuda  <kinuko@chromium.org>
1185
1186         Reviewed by David Levin.
1187
1188         Expose unified Quota API if QUOTA build flag is enabled
1189         https://bugs.webkit.org/show_bug.cgi?id=58648
1190
1191         Test: storage/storageinfo-query-usage.html
1192
1193         * CMakeLists.txt: Added new file entries.
1194         * DerivedSources.cpp: Added new file entries.
1195         * DerivedSources.make: Added new file entries.
1196         * GNUmakefile.am: Added new file entries.
1197         * WebCore.gypi: Added new file entries.
1198         * WebCore.vcproj/WebCore.vcproj: Added new file entries.
1199         * WebCore.xcodeproj/project.pbxproj: Added new file entries.
1200         * page/DOMWindow.cpp:
1201         (WebCore::DOMWindow::webkitStorageInfo): Added.
1202         * page/DOMWindow.h:
1203         * page/DOMWindow.idl:
1204         * storage/StorageInfo.h: Added storage type enum.
1205         * storage/StorageInfo.idl: Added.
1206         * storage/StorageInfoErrorCallback.idl: Added.
1207         * storage/StorageInfoUsageCallback.idl: Added.
1208
1209 2011-04-15  Oliver Hunt  <oliver@apple.com>
1210
1211         GC allocate Structure
1212         https://bugs.webkit.org/show_bug.cgi?id=58483
1213
1214         Rolling r83894 r83827 r83810 r83809 r83808 back in with
1215         a workaround for the gcc bug seen by the gtk bots
1216
1217         * WebCore.exp.in:
1218         * bindings/js/JSAudioConstructor.h:
1219         (WebCore::JSAudioConstructor::createStructure):
1220         * bindings/js/JSDOMBinding.cpp:
1221         (WebCore::cacheDOMStructure):
1222         * bindings/js/JSDOMBinding.h:
1223         (WebCore::DOMObjectWithGlobalPointer::createStructure):
1224         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
1225         (WebCore::DOMConstructorObject::createStructure):
1226         (WebCore::DOMConstructorObject::DOMConstructorObject):
1227         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
1228         * bindings/js/JSDOMGlobalObject.cpp:
1229         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
1230         (WebCore::JSDOMGlobalObject::markChildren):
1231         * bindings/js/JSDOMGlobalObject.h:
1232         (WebCore::JSDOMGlobalObject::createStructure):
1233         * bindings/js/JSDOMWindowBase.cpp:
1234         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1235         * bindings/js/JSDOMWindowBase.h:
1236         (WebCore::JSDOMWindowBase::createStructure):
1237         * bindings/js/JSDOMWindowShell.cpp:
1238         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1239         (WebCore::JSDOMWindowShell::setWindow):
1240         * bindings/js/JSDOMWindowShell.h:
1241         (WebCore::JSDOMWindowShell::createStructure):
1242         * bindings/js/JSDOMWrapper.h:
1243         (WebCore::DOMObject::DOMObject):
1244         * bindings/js/JSEventListener.cpp:
1245         (WebCore::JSEventListener::JSEventListener):
1246         * bindings/js/JSImageConstructor.h:
1247         (WebCore::JSImageConstructor::createStructure):
1248         * bindings/js/JSImageDataCustom.cpp:
1249         (WebCore::toJS):
1250         * bindings/js/JSOptionConstructor.h:
1251         (WebCore::JSOptionConstructor::createStructure):
1252         * bindings/js/JSWorkerContextBase.cpp:
1253         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
1254         * bindings/js/JSWorkerContextBase.h:
1255         (WebCore::JSWorkerContextBase::createStructure):
1256         * bindings/js/ScriptCachedFrameData.h:
1257         * bindings/js/SerializedScriptValue.h:
1258         * bindings/js/WorkerScriptController.cpp:
1259         (WebCore::WorkerScriptController::~WorkerScriptController):
1260         (WebCore::WorkerScriptController::initScript):
1261         * bindings/scripts/CodeGeneratorJS.pm:
1262         * bridge/c/CRuntimeObject.h:
1263         (JSC::Bindings::CRuntimeObject::createStructure):
1264         * bridge/c/c_instance.cpp:
1265         (JSC::Bindings::CRuntimeMethod::createStructure):
1266         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1267         (JavaRuntimeMethod::createStructure):
1268         * bridge/jni/jsc/JavaRuntimeObject.h:
1269         (JSC::Bindings::JavaRuntimeObject::createStructure):
1270         * bridge/objc/ObjCRuntimeObject.h:
1271         (JSC::Bindings::ObjCRuntimeObject::createStructure):
1272         * bridge/objc/objc_instance.mm:
1273         (ObjCRuntimeMethod::createStructure):
1274         * bridge/objc/objc_runtime.h:
1275         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
1276         * bridge/qt/qt_instance.cpp:
1277         (JSC::Bindings::QtRuntimeObject::createStructure):
1278         * bridge/qt/qt_pixmapruntime.cpp:
1279         (JSC::Bindings::QtPixmapRuntimeObject::createStructure):
1280         * bridge/qt/qt_runtime.h:
1281         (JSC::Bindings::QtRuntimeMethod::createStructure):
1282         * bridge/runtime_array.cpp:
1283         (JSC::RuntimeArray::RuntimeArray):
1284         * bridge/runtime_array.h:
1285         (JSC::RuntimeArray::createStructure):
1286         * bridge/runtime_method.cpp:
1287         (JSC::RuntimeMethod::RuntimeMethod):
1288         * bridge/runtime_method.h:
1289         (JSC::RuntimeMethod::createStructure):
1290         * bridge/runtime_object.cpp:
1291         (JSC::Bindings::RuntimeObject::RuntimeObject):
1292         * bridge/runtime_object.h:
1293         (JSC::Bindings::RuntimeObject::createStructure):
1294         * history/HistoryItem.h:
1295
1296 2011-04-15  Jessie Berlin  <jberlin@apple.com>
1297
1298         Reviewed by Brian Weinstein.
1299
1300         Hang underneath ApplicationCacheStorage::writeDataToUniqueFileInDirectory when loading
1301         http://www.webkit.org/demos/calendar.
1302         https://bugs.webkit.org/show_bug.cgi?id=58698
1303
1304         * platform/win/FileSystemWin.cpp:
1305         (WebCore::openFile):
1306         Add breaks to the case statement.
1307         (WebCore::directoryName):
1308         Remove any trailing slash in directoryName. After closer inspection of all callers, it
1309         appears the that callers do not need the trailing slash, and those that use the length do
1310         so only to change the direction of the slashes throughout the length of the path.
1311
1312 2011-04-15  Roland Steiner  <rolandsteiner@chromium.org>
1313
1314         Reviewed by Dimitri Glazkov.
1315
1316         Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree
1317         https://bugs.webkit.org/show_bug.cgi?id=52963
1318
1319         .) Change base class of ShadowRoot from DocumentFragment to TreeScope.
1320         .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.).
1321         .) Merged setTreeScope() with setTreeScopeRecursively()
1322         .) Call setTreeScopeRecursively in DOM manipulation functions where applicable.
1323
1324         No new tests. (refactoring)
1325
1326         * dom/ContainerNode.cpp:
1327         (WebCore::ContainerNode::takeAllChildrenFrom):
1328         (WebCore::ContainerNode::removeBetween):
1329         (WebCore::ContainerNode::removeChildren):
1330         (WebCore::ContainerNode::parserAddChild):
1331         * dom/Document.cpp:
1332         (WebCore::Document::Document):
1333         (WebCore::Document::~Document):
1334         (WebCore::Document::setDocType):
1335         * dom/Element.h:
1336         * dom/Node.cpp:
1337         (WebCore::Node::treeScope):
1338         (WebCore::Node::setTreeScopeRecursively):
1339         * dom/Node.h:
1340         (WebCore::Node::document):
1341         * dom/ShadowRoot.cpp:
1342         (WebCore::ShadowRoot::ShadowRoot):
1343         (WebCore::ShadowRoot::~ShadowRoot):
1344         (WebCore::ShadowRoot::nodeType):
1345         (WebCore::ShadowRoot::cloneNode):
1346         (WebCore::ShadowRoot::childTypeAllowed):
1347         * dom/ShadowRoot.h:
1348         (WebCore::toShadowRoot):
1349         * dom/TreeScope.cpp:
1350         (WebCore::TreeScope::TreeScope):
1351         (WebCore::TreeScope::setParentTreeScope):
1352         * dom/TreeScope.h:
1353         * rendering/RenderSlider.cpp:
1354
1355 2011-04-15  Geoffrey Garen  <ggaren@apple.com>
1356
1357         Reviewed by Oliver Hunt.
1358
1359         DOM object handles are never removed from cache
1360         https://bugs.webkit.org/show_bug.cgi?id=58707
1361
1362         We were trying to remove hash table items by value instead of by key.
1363
1364         * bindings/js/DOMWrapperWorld.cpp:
1365         (WebCore::JSNodeHandleOwner::finalize): Changed to work more like
1366         DOMObjectHandleOwner::finalize because I'm going to merge them.
1367
1368         (WebCore::DOMObjectHandleOwner::finalize): Remove hash table items
1369         by key, not value. (Oops!) Use a helper function to make sure we get
1370         this right.
1371
1372         * bindings/js/JSDOMBinding.cpp:
1373         (WebCore::cacheDOMObjectWrapper): Store the hash table key as our weak
1374         handle context, so we can use it at destruction time.
1375
1376         * bindings/js/JSDOMBinding.h: Removed unnecessary include.
1377
1378         * bindings/js/JSNodeCustom.h:
1379         (WebCore::cacheDOMNodeWrapper): Store the hash table key as our weak
1380         handle context, so we can use it at destruction time.
1381
1382         * bindings/js/ScriptWrappable.h:
1383         (WebCore::ScriptWrappable::setWrapper): Forward context parameter, to
1384         support the above.
1385
1386 2011-04-15  Kenneth Russell  <kbr@google.com>
1387
1388         Unreviewed. Chromium Linux Release build fix due to unused variables.
1389
1390         * platform/audio/mkl/FFTFrameMKL.cpp:
1391         (WebCore::FFTFrame::doFFT):
1392         (WebCore::FFTFrame::doInverseFFT):
1393         (WebCore::FFTFrame::cleanup):
1394
1395 2011-04-15  Brent Fulgham  <bfulgham@webkit.org>
1396
1397         Unreviewed build change after r83945.
1398
1399         New 'PlatformPathCairo.cpp' was not added to the WinCairo build.
1400
1401         * WebCore.vcproj/WebCore.vcproj: Add missing file to WinCairo
1402           build.  Exclude for standard Apple build.
1403
1404 2011-04-15  Anders Carlsson  <andersca@apple.com>
1405
1406         Reviewed by Dan Bernstein.
1407
1408         Fade the find page overlay
1409         https://bugs.webkit.org/show_bug.cgi?id=58697
1410
1411         Add a symbol that WebKit2 needs.
1412
1413         * WebCore.exp.in:
1414
1415 2011-04-15  MORITA Hajime  <morrita@google.com>
1416
1417         Reviewed by Dimitri Glazkov.
1418
1419         RenderDetailsMarker should belong to shadow element.
1420         https://bugs.webkit.org/show_bug.cgi?id=58591
1421
1422         - Introduced DetailsMarkerControl element, which is a shadow element of <summary>, creates RenderDetailsMarker.
1423         - Removed custom layout code from RenderDetails, RenderDetailsMarker, which is now done by usual CSS layout.
1424           Note that marker size is given via style for -webkit-details-marker pseudo class.
1425         - Converted default summary implementation from pure-renderer style to shadow of HTMLDetailsElement.
1426           Now RenderDetails knows nothing about default summary.
1427         - Moved event handling code from HTMLDetailsElement to HTMLSummaryElement because now the marker is always child of 
1428           <summary>, and the clickable area is now <summary> itself.
1429
1430         - Note that the rendering result is changed due to the conversion from custom layout code to usual CSS styling.
1431
1432         * Android.mk:
1433         * CMakeLists.txt:
1434         * GNUmakefile.list.am:
1435         * WebCore.gypi:
1436         * WebCore.pro:
1437         * WebCore.vcproj/WebCore.vcproj:
1438         * WebCore.xcodeproj/project.pbxproj:
1439         * css/html.css:
1440         (summary::-webkit-details-marker):
1441         * dom/Element.cpp:
1442         (WebCore::Element::attach):
1443         * dom/Node.cpp:
1444         (WebCore::shouldCreateRendererFor):
1445         * dom/Node.h:
1446         (WebCore::Node::canHaveLightChildRendererWithShadow):
1447         * html/HTMLDetailsElement.cpp:
1448         (WebCore::HTMLDetailsElement::findSummaryFor):
1449         (WebCore::HTMLDetailsElement::findMainSummary):
1450         (WebCore::HTMLDetailsElement::refreshMainSummary):
1451         (WebCore::HTMLDetailsElement::createShadowSubtree):
1452         (WebCore::HTMLDetailsElement::childrenChanged):
1453         (WebCore::HTMLDetailsElement::finishParsingChildren):
1454         (WebCore::HTMLDetailsElement::toggleOpen):
1455         * html/HTMLDetailsElement.h:
1456         (WebCore::HTMLDetailsElement::canHaveLightChildRendererWithShadow):
1457         * html/HTMLSummaryElement.cpp:
1458         (WebCore::HTMLSummaryElement::create):
1459         (WebCore::HTMLSummaryElement::createShadowSubtree):
1460         (WebCore::HTMLSummaryElement::detailsElement):
1461         (WebCore::HTMLSummaryElement::isMainSummary):
1462         (WebCore::HTMLSummaryElement::defaultEventHandler):
1463         * html/HTMLSummaryElement.h:
1464         (WebCore::HTMLSummaryElement::canHaveLightChildRendererWithShadow):
1465         * html/shadow/DetailsMarkerControl.cpp: Added.
1466         (WebCore::DetailsMarkerControl::DetailsMarkerControl):
1467         (WebCore::DetailsMarkerControl::createRenderer):
1468         (WebCore::DetailsMarkerControl::rendererIsNeeded):
1469         (WebCore::DetailsMarkerControl::shadowPseudoId):
1470         (WebCore::DetailsMarkerControl::summaryElement):
1471         * html/shadow/DetailsMarkerControl.h: Added.
1472         (WebCore::DetailsMarkerControl::create):
1473         * rendering/RenderDetails.cpp:
1474         (WebCore::RenderDetails::RenderDetails):
1475         (WebCore::RenderDetails::styleDidChange):
1476         (WebCore::RenderDetails::moveSummaryToContents):
1477         (WebCore::RenderDetails::checkMainSummary):
1478         (WebCore::RenderDetails::layout):
1479         * rendering/RenderDetails.h:
1480         * rendering/RenderDetailsMarker.cpp:
1481         (WebCore::RenderDetailsMarker::RenderDetailsMarker):
1482         (WebCore::RenderDetailsMarker::isOpen):
1483         (WebCore::RenderDetailsMarker::getPath):
1484         (WebCore::RenderDetailsMarker::paint):
1485         (WebCore::RenderDetailsMarker::details):
1486         * rendering/RenderDetailsMarker.h:
1487
1488 2011-04-15  Sam Weinig  <sam@webkit.org>
1489
1490         Reviewed by Adam Roben.
1491
1492         Implement localize strings for windows WebKit2
1493         https://bugs.webkit.org/show_bug.cgi?id=58688
1494
1495         * platform/win/LocalizedStringsWin.cpp:
1496         (WebCore::createWebKitBundle):
1497         (WebCore::webKitBundle):
1498         (WebCore::localizedString):
1499         Add implementation of localizedString for Windows.
1500
1501 2011-04-15  Geoffrey Garen  <ggaren@apple.com>
1502
1503         Reviewed by Oliver Hunt.
1504
1505         Some mechanical DOM wrapper cleanup
1506         https://bugs.webkit.org/show_bug.cgi?id=58689
1507
1508         * WebCore.exp.in: Export!
1509
1510         * bindings/js/DOMWrapperWorld.cpp:
1511         (WebCore::isReachableFromDOM): Inverted the inDocument test to make the
1512         relationship of the special cases to the normal case clearer.
1513
1514         * bindings/js/JSArrayBufferViewHelper.h:
1515         (WebCore::toJSArrayBufferView):
1516         * bindings/js/JSCSSRuleCustom.cpp:
1517         (WebCore::toJS):
1518         * bindings/js/JSCSSValueCustom.cpp:
1519         (WebCore::toJS):
1520         * bindings/js/JSDOMBinding.cpp:
1521         (WebCore::getCachedDOMObjectWrapper):
1522         (WebCore::cacheDOMObjectWrapper):
1523         * bindings/js/JSDOMBinding.h:
1524         (WebCore::createDOMObjectWrapper):
1525         (WebCore::getDOMObjectWrapper):
1526         (WebCore::createDOMNodeWrapper):
1527         (WebCore::getDOMNodeWrapper): Changed DOM wrapper functions to operate
1528         in terms of DOMWrapperWorlds instead of ExecStates. This is clearer,
1529         and ever-so-slightly faster.
1530         
1531         Removed hasCachedXXX functions, now that they're unused.
1532
1533         * bindings/js/JSDOMWindowCustom.cpp:
1534         (WebCore::JSDOMWindow::history):
1535         (WebCore::JSDOMWindow::location):
1536         * bindings/js/JSDocumentCustom.cpp:
1537         (WebCore::JSDocument::location):
1538         (WebCore::toJS):
1539         * bindings/js/JSElementCustom.cpp:
1540         (WebCore::toJSNewlyCreated):
1541         * bindings/js/JSEventCustom.cpp:
1542         (WebCore::toJS):
1543         * bindings/js/JSHTMLCollectionCustom.cpp:
1544         (WebCore::toJS):
1545         * bindings/js/JSImageDataCustom.cpp:
1546         (WebCore::toJS):
1547         * bindings/js/JSNodeCustom.cpp:
1548         (WebCore::createWrapperInline):
1549         * bindings/js/JSNodeCustom.h:
1550         (WebCore::getCachedDOMNodeWrapper):
1551         (WebCore::cacheDOMNodeWrapper):
1552         (WebCore::toJS):
1553         * bindings/js/JSSVGPathSegCustom.cpp:
1554         (WebCore::toJS):
1555         * bindings/js/JSStyleSheetCustom.cpp:
1556         (WebCore::toJS): Updated for changes above.
1557
1558         * xml/XMLHttpRequest.cpp:
1559         (WebCore::XMLHttpRequest::dropProtection): Removed use of hasCachedDOMObjectWrapper
1560         because XHR is almost always created and used by JavaScript, so it's
1561         simpler to just always report extra cost.
1562
1563 2011-04-15  Andreas Kling  <kling@webkit.org>
1564
1565         Rolling out accidental part of r84010.
1566
1567         * platform/qt/RenderThemeQt.cpp:
1568         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
1569         (WebCore::RenderThemeQt::setButtonPadding):
1570
1571 2011-04-15  Oliver Hunt  <oliver@apple.com>
1572
1573         Forgot windows build fix.
1574
1575         * bindings/js/JSNodeFilterCondition.cpp:
1576         (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
1577
1578 2011-04-15  Joseph Pecoraro  <joepeck@webkit.org>
1579
1580         Reviewed by Yury Semikhatsky.
1581
1582         Frontend Part of Web Inspector: Remote Web Inspector - Cross Platform InspectorServer
1583         https://bugs.webkit.org/show_bug.cgi?id=51364
1584
1585         The front end should not use a transparent background when
1586         loaded as a web page (remote debugging) but should when loaded
1587         regularly in a custom window. This adds a "remote" style class
1588         onto the document body when the page is loaded remotely.
1589
1590         * inspector/front-end/inspector.css:
1591         (body.detached.platform-mac-snowleopard:not(.remote) #toolbar): respect the "remote" class.
1592         * inspector/front-end/inspector.js: add a "remote" class on the body when loaded remotely.
1593
1594 2011-04-15  Joseph Pecoraro  <joepeck@webkit.org>
1595
1596         Reviewed by David Kilzer.
1597
1598         JSLock ASSERT seen often when using the inspector for long
1599         periods of time. We should take the JSLock whenever we
1600         might allocate memory in the JavaScript Heap.
1601
1602         JSC InjectedScriptHost::nodeAsScriptValue should take JSLock before possible JavaScript Allocations
1603         https://bugs.webkit.org/show_bug.cgi?id=58674
1604
1605         * bindings/js/JSInjectedScriptHostCustom.cpp:
1606         (WebCore::InjectedScriptHost::nodeAsScriptValue): take the JSLock.
1607
1608 2011-04-14  Oliver Hunt  <oliver@apple.com>
1609
1610         Reviewed by Geoffrey Garen.
1611
1612         Make JSNodeFilterCondition handle its lifetime correctly
1613         https://bugs.webkit.org/show_bug.cgi?id=58622
1614
1615         Switch over to a WeakHandle and external roots to keep the
1616         condition value live.
1617
1618         * bindings/js/JSNodeFilterCondition.cpp:
1619         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
1620         (WebCore::JSNodeFilterCondition::markAggregate):
1621         (WebCore::JSNodeFilterCondition::acceptNode):
1622         (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
1623         * bindings/js/JSNodeFilterCondition.h:
1624         (WebCore::JSNodeFilterCondition::create):
1625         * bindings/js/JSNodeFilterCustom.cpp:
1626         (WebCore::toNodeFilter):
1627         * bindings/scripts/CodeGeneratorJS.pm:
1628
1629 2011-04-13  Luiz Agostini  <luiz.agostini@openbossa.org>
1630
1631         Reviewed by Andreas Kling.
1632
1633         [Qt] QNetworkReplyHandler refactoring: some adjustments
1634         https://bugs.webkit.org/show_bug.cgi?id=57092
1635
1636         - Removing flag m_redirected from QNetworkReplyHandler and using m_redirectionTargetUrl.isValid() instead.
1637         - Moving flag m_responseContainsData from QNetworkReplyHandler to the reply wrapper and removing the connection of
1638         signal metaDataChanged for m_responseContainsData to be consistent.
1639         - Using an OwnPtr to keep the reference to the QNetworkReplyWrapper.
1640
1641         * platform/network/qt/QNetworkReplyHandler.cpp:
1642         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
1643         (WebCore::QNetworkReplyWrapper::receiveMetaData):
1644         (WebCore::QNetworkReplyWrapper::didReceiveReadyRead):
1645         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1646         (WebCore::QNetworkReplyHandler::release):
1647         (WebCore::shouldIgnoreHttpError):
1648         (WebCore::QNetworkReplyHandler::finish):
1649         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1650         (WebCore::QNetworkReplyHandler::redirect):
1651         (WebCore::QNetworkReplyHandler::forwardData):
1652         * platform/network/qt/QNetworkReplyHandler.h:
1653         (WebCore::QNetworkReplyWrapper::responseContainsData):
1654         (WebCore::QNetworkReplyWrapper::redirected):
1655
1656 2011-04-15  Alexey Proskuryakov  <ap@apple.com>
1657
1658         Chromium build fix.
1659
1660         * platform/SecureTextInput.h: CARBON_SECURE_INPUT_MODE no longer exists.
1661
1662 2011-04-15  Mike Reed  <reed@google.com>
1663
1664         Reviewed by Darin Fisher.
1665
1666         hide unused static function when SKIA_GPU is enabled
1667         https://bugs.webkit.org/show_bug.cgi?id=58670
1668
1669         No new tests. Just fixes a warning (treated as an error) when SKIA_GPU is enabled
1670
1671         * platform/graphics/skia/ImageSkia.cpp:
1672
1673 2011-04-15  Simon Fraser  <simon.fraser@apple.com>
1674
1675         Reviewed by Beth Dakin.
1676
1677         Some borders with border-radius do not have rounded inner edges
1678         https://bugs.webkit.org/show_bug.cgi?id=58457
1679         
1680         Improve the logic used to compute the inner radii on curved
1681         borders, to maintain borders of even thickness around the curve.
1682         
1683         Tests: fast/borders/mixed-border-styles-radius.html
1684                fast/borders/mixed-border-styles.html
1685
1686         * rendering/RenderBoxModelObject.h:
1687         * rendering/RenderBoxModelObject.cpp:
1688         (WebCore::RenderBoxModelObject::computeBorderOuterRect):
1689         (WebCore::RenderBoxModelObject::computeBorderInnerRect):
1690         Two new utility functions to share some code that was in both paintBorder()
1691         and paintBoxShaadow().
1692         getRoundedInnerBorderWithBorderWidths() now takes the outer border box
1693         as well as the inner box.
1694         
1695         (WebCore::RenderBoxModelObject::paintBorder): Call new methods.
1696         (WebCore::RenderBoxModelObject::paintBoxShadow): Ditto.
1697
1698         * rendering/RenderObject.cpp:
1699         (WebCore::RenderObject::drawBoxSideFromPath):
1700         getRoundedInnerBorderWithBorderWidths() now takes the outer border box
1701         as well as the inner box.
1702
1703         * rendering/style/RenderStyle.cpp:
1704         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
1705         * rendering/style/RenderStyle.h:
1706         Compute the inner radii by starting with teh radii used for the
1707         outer box, and then shrinking them down based on the border thickness.
1708
1709 2011-04-14  Alexey Proskuryakov  <ap@apple.com>
1710
1711         Reviewed by Dan Bernstein.
1712
1713         WebKit2: Password field input does not switch to ASCII-compatible source
1714         https://bugs.webkit.org/show_bug.cgi?id=58583
1715         <rdar://problem/9059651>
1716
1717         * platform/SecureTextInput.cpp:
1718         (WebCore::enableSecureTextInput):
1719         (WebCore::disableSecureTextInput):
1720         This is now only used by Chromium. There is no need to change TSMDocument properties in
1721         renderer process (and really, all secure text input logic in WebCore should be eliminated).
1722
1723 2011-04-13  Xiaomei Ji  <xji@chromium.org>
1724
1725         Reviewed by Ryosuke Niwa.
1726
1727         Continue (3rd) experiment with moving caret by word in visual order.
1728         https://bugs.webkit.org/show_bug.cgi?id=58294
1729
1730         This patch along with r82588 and r83483 implements moving caret by
1731         word in visual order.
1732         
1733         The overall algorithm is:
1734         1. First get the InlineBox and offset of the pass-in VisiblePosition.
1735         2. Based on the position (left boundary, middle, right boundary) of the offset and the
1736            direction of the movement, look for visually adjacent word breaks.
1737         2.1 If the offset is the minimum offset of the box,
1738             return the rightmost word boundary in previous boxes if moving left.
1739             return the leftmost word boundary in box and next boxes if moving right.
1740         2.2 Similar for the case when offset is at the maximum offset of the box.
1741         2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition 
1742             or nextWordPosition based on the directionality of the box. If this word break position 
1743             is also inside the same box, return it. Otherwise (the nextWordPosition or 
1744             previousWordPosition is not in the same box or is at the box boundary), collect all the 
1745             word breaks in the box and search for the one closest to the input "offset" based on 
1746             box directionality, block directionality, and movement direction. Continue search in 
1747             adjacent boxes if needed.
1748
1749         Notes:
1750         1. Word boundaries are collected one box at a time. Only when a boundary that is closest to 
1751            the input position (in the moving direction) is not available in current box, word 
1752            boundaries in adjacent box will be collected. So, there is no need to save InlineBox in 
1753            word boundaries. Instead, the word boundaries are saved as a pair 
1754            (VisiblePosition, offset) to avoid recomputing VisiblePosition.
1755  
1756         2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block
1757            and right boundary of a word in RTL block). And word boundaries are collected using 
1758            previousWordPosition() and nextWordPosition(). So when box directionality is the same as 
1759            block directionality, word boundaries are collected from right to left visually in a LTR 
1760            box, and word boundaries are collected from left to right visually in a RTL box. It is
1761            the other way around when box directionality is different from block directionality.
1762
1763         3. To find the right kinds of word boundaries, we must move back and forth between words
1764            in some situations. For example, if we're moving to the right in a LTR box in LTR block,
1765            we cannot simply return nextWordPosition() because it would return the right boundary
1766            of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition().
1767
1768         4. When collecting word breaks inside a box, it first computes a start position, then
1769            collect the right kind of word breaks until it reaches the end of (or beyond) the box.
1770            In the meanwhile, it might need special handling on the rightmost or leftmost position 
1771            based on the directionality of the box and block. These computations do not consider the 
1772            box's bidi level.
1773
1774         * editing/visible_units.cpp:
1775         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
1776         (WebCore::collectWordBreaksInBox):
1777         (WebCore::previousWordBoundaryInBox):
1778         (WebCore::nextWordBoundaryInBox):
1779         (WebCore::visuallyLastWordBoundaryInBox):
1780         (WebCore::leftWordBoundary):
1781         (WebCore::rightWordBoundary):
1782         (WebCore::leftWordPosition):
1783         (WebCore::rightWordPosition):
1784
1785 2011-04-14  Zhenyao Mo  <zmo@google.com>
1786
1787         Reviewed by Kenneth Russell.
1788
1789         Use HTMLImageElement in Canvas 2D / WebGL before response is ready causes crash
1790         https://bugs.webkit.org/show_bug.cgi?id=58501
1791
1792         * html/canvas/WebGLRenderingContext.cpp:
1793         (WebCore::WebGLRenderingContext::texImage2D): Call validateHTMLImageElement().
1794         (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
1795         (WebCore::WebGLRenderingContext::validateHTMLImageElement): Make sure image is ready.
1796         * html/canvas/WebGLRenderingContext.h:
1797
1798 2011-04-07  MORITA Hajime  <morrita@google.com>
1799
1800         Reviewed by Ryosuke Niwa.
1801
1802         DocumentMaker::AllMarkers should not be a part of DocumentMarker::MarkerType
1803         https://bugs.webkit.org/show_bug.cgi?id=58112
1804         
1805         - Converted DocumentMarker::MarkerTypes from unsigned int to a class.
1806         - Converted DocumentMarker::AllMarkers from an enum entry to a subclass of MarkerTypes.
1807         - Changed type of some MarkerType argument on DocumentMarkerController API to MarkerTypes
1808           which should allow a combination of MarkerType constansts.
1809         - Removed some MarkerType arguments on DocumentMarkerController API
1810           which only received AllMarkers.
1811         
1812         No new tests, no behavior change.
1813
1814         * WebCore.exp.in:
1815         * dom/DocumentMarker.h:
1816         (WebCore::DocumentMarker::MarkerTypes::MarkerTypes):
1817         (WebCore::DocumentMarker::MarkerTypes::contains):
1818         (WebCore::DocumentMarker::MarkerTypes::intersects):
1819         (WebCore::DocumentMarker::MarkerTypes::operator==):
1820         (WebCore::DocumentMarker::MarkerTypes::add):
1821         (WebCore::DocumentMarker::MarkerTypes::remove):
1822         (WebCore::DocumentMarker::AllMarkers::AllMarkers):
1823         * dom/DocumentMarkerController.cpp:
1824         (WebCore::DocumentMarkerController::possiblyHasMarkers):
1825         (WebCore::DocumentMarkerController::addMarker):
1826         (WebCore::DocumentMarkerController::copyMarkers):
1827         (WebCore::DocumentMarkerController::removeMarkers):
1828         (WebCore::DocumentMarkerController::markerContainingPoint):
1829         (WebCore::DocumentMarkerController::markersInRange):
1830         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
1831         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
1832         (WebCore::DocumentMarkerController::repaintMarkers):
1833         (WebCore::DocumentMarkerController::shiftMarkers):
1834         (WebCore::DocumentMarkerController::setMarkersActive):
1835         (WebCore::DocumentMarkerController::hasMarkers):
1836         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
1837         * dom/DocumentMarkerController.h:
1838
1839 2011-04-14  Geoffrey Garen  <ggaren@apple.com>
1840
1841         Reviewed by Oliver Hunt.
1842
1843         Complicated hash table is complicated
1844         https://bugs.webkit.org/show_bug.cgi?id=58631
1845         
1846         Now that we use the opaque roots system to track node wrapper lifetime,
1847         we can remove a lot of complicated hash-tablery that used to do the same.
1848         
1849         Now normal world node wrappers are just set as direct properties of
1850         ScriptWrappable, while isolated world node wrappers and other DOM object
1851         wrappers are stored in a shared, per-world hash table.
1852
1853         In addition to reducing complexity, this makes DOM wrapper allocation
1854         1.6X faster (tested with scratch-gc-dom3.html), and it reduces the memory
1855         footprint of normal world wrappers by ~2/3, and isolated world wrappers
1856         by ~1/3.
1857
1858         * WebCore.exp.in: Paying the patch tithe.
1859
1860         * bindings/js/DOMWrapperWorld.cpp:
1861         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
1862         (WebCore::DOMWrapperWorld::clearWrappers): No more per-document hash tables.
1863
1864         (WebCore::JSNodeHandleOwner::finalize): Changed to call a helper function,
1865         so the code to destroy a wrapper can live next to the code to create one.
1866
1867         * bindings/js/DOMWrapperWorld.h: No more per-document hash tables.
1868
1869         * bindings/js/JSDOMBinding.cpp:
1870         (WebCore::uncacheDOMObjectWrapper):
1871         * bindings/js/JSDOMBinding.h:
1872         (WebCore::createDOMNodeWrapper):
1873         (WebCore::getDOMNodeWrapper): No more per-document hash tables.
1874         Added uncacheDOMObjectWrapper to be symmetrical with cacheDOMObjectWrapper.
1875
1876         * bindings/js/JSDocumentCustom.cpp:
1877         (WebCore::toJS):
1878         * bindings/js/JSElementCustom.cpp:
1879         (WebCore::toJSNewlyCreated):
1880         * bindings/js/JSNodeCustom.cpp:
1881         (WebCore::createWrapperInline): Ditto.
1882
1883         * bindings/js/JSNodeCustom.h:
1884         (WebCore::getCachedDOMNodeWrapper):
1885         (WebCore::cacheDOMNodeWrapper):
1886         (WebCore::uncacheDOMNodeWrapper):
1887         (WebCore::toJS): Implemented the scheme described above.
1888
1889         * bindings/js/ScriptWrappable.h:
1890         (WebCore::ScriptWrappable::wrapper):
1891         (WebCore::ScriptWrappable::setWrapper):
1892         (WebCore::ScriptWrappable::clearWrapper): ScriptWrappable needs a handle
1893         owner now, since we don't have an extra handle living in a hash table
1894         to maintain ownership for us.
1895
1896         * dom/Document.cpp:
1897         (WebCore::Document::Document):
1898         (WebCore::Document::~Document):
1899         * dom/Document.h:
1900         * dom/Node.cpp:
1901         (WebCore::Node::setDocument): No more per-document hash tables.
1902
1903         * html/HTMLCanvasElement.cpp:
1904         (WebCore::HTMLCanvasElement::createImageBuffer): Removed call to
1905         hasCachedDOMNodeWrapperUnchecked because that was the old way of doing
1906         things, and I was in the mood for getting rid of the old way. It's
1907         debatable whether the check was ever a good idea. Even when a <canvas>
1908         doesn't have a direct JS wrapper, other JS references can still keep
1909         the <canvas> alive. So, it's probably best always to report extra cost.
1910
1911 2011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
1912
1913         Reviewed by Pavel Feldman.
1914
1915         Web Inspector: Rename rawRequestHeadersText and RawResponseHeadersText to requestHeadersText and responseHeadersText
1916         https://bugs.webkit.org/show_bug.cgi?id=58650
1917
1918         * inspector/Inspector.json:
1919         * inspector/InspectorResourceAgent.cpp:
1920         (WebCore::buildObjectForResourceResponse):
1921         * inspector/front-end/NetworkManager.js:
1922         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
1923         * inspector/front-end/Resource.js:
1924         (WebInspector.Resource.prototype.get requestHeadersText):
1925         (WebInspector.Resource.prototype.set requestHeadersText):
1926         (WebInspector.Resource.prototype.get requestHeadersSize):
1927         (WebInspector.Resource.prototype.get responseHeadersText):
1928         (WebInspector.Resource.prototype.set responseHeadersText):
1929         (WebInspector.Resource.prototype.get responseHeadersSize):
1930         (WebInspector.Resource.prototype._headersSize):
1931         * inspector/front-end/ResourceHeadersView.js:
1932         (WebInspector.ResourceHeadersView):
1933         (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
1934         (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
1935         (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
1936         (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
1937         (WebInspector.ResourceHeadersView.prototype._toggleRequestHeadersText):
1938         (WebInspector.ResourceHeadersView.prototype._toggleResponseHeadersText):
1939         (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
1940         * inspector/front-end/networkPanel.css:
1941         (.resource-headers-view .outline-disclosure li.headers-text):
1942         * platform/network/ResourceLoadInfo.h:
1943
1944 2011-04-15  Luke Macpherson   <macpherson@chromium.org>
1945
1946         Reviewed by Dimitri Glazkov.
1947
1948         Implement css overflow properties in CSSStyleApplyProperty
1949         https://bugs.webkit.org/show_bug.cgi?id=58633
1950
1951         No new tests required as no functionality changes.
1952
1953         * css/CSSStyleApplyProperty.cpp:
1954         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1955         Add initializers for CSSPropertyOverflowX, CSSPropertyOverflowY and CSSPropertyOverflow.
1956         * css/CSSStyleSelector.cpp:
1957         (WebCore::CSSStyleSelector::applyProperty):
1958         Delete existing implementations.
1959
1960 2011-04-15  Sam Weinig  <sam@webkit.org>
1961
1962         Reviewed by Maciej Stachowiak.
1963
1964         Make mac WebKit1 use the default localization strategy
1965         https://bugs.webkit.org/show_bug.cgi?id=58628
1966
1967         * English.lproj/Localizable.strings:
1968         Update by running update-webkit-localizable-strings.
1969
1970         * platform/DefaultLocalizationStrategy.cpp:
1971         (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
1972         (WebCore::DefaultLocalizationStrategy::keygenKeychainItemName):
1973         (WebCore::DefaultLocalizationStrategy::imageTitle):
1974         Match the WebKit1 versions of these functions by special casing CF platforms.
1975
1976 2011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
1977
1978         Reviewed by Pavel Feldman.
1979
1980         Web Inspector: No console message and headers in inspector when X-Frame-Options header blocks a load
1981         https://bugs.webkit.org/show_bug.cgi?id=58136
1982
1983         Passed response info to inspector when X-Frame-Options header blocks resource loading.
1984
1985         Test: http/tests/inspector/network/x-frame-options-deny.html
1986
1987         * inspector/InspectorInstrumentation.cpp:
1988         (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDeniedImpl):
1989         * inspector/InspectorInstrumentation.h:
1990         (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
1991         * loader/MainResourceLoader.cpp:
1992         (WebCore::MainResourceLoader::didReceiveResponse):
1993
1994 2011-04-15  Andrey Adaikin  <aandrey@google.com>
1995
1996         Reviewed by Pavel Feldman.
1997
1998         Web Inspector: TextViewer and TextEditorModel must support both \n and \r\n as line separators
1999         https://bugs.webkit.org/show_bug.cgi?id=58449
2000
2001         Test: inspector/editor/text-editor-model.html
2002
2003         * inspector/front-end/TextEditorModel.js:
2004         (WebInspector.TextEditorModel):
2005         (WebInspector.TextEditorModel.prototype.get text):
2006         (WebInspector.TextEditorModel.prototype.setText):
2007         (WebInspector.TextEditorModel.prototype._innerSetText):
2008         (WebInspector.TextEditorModel.prototype.copyRange):
2009
2010 2011-04-15  Sergey Vorobyev  <sergeyvorobyev@google.com>
2011
2012         Reviewed by Yury Semikhatsky.
2013
2014         Web Inspector: Network events don't preserves,
2015         when inspector frontend closed and open again
2016         https://bugs.webkit.org/show_bug.cgi?id=58064
2017
2018         Added InspectorFrontendProxy and EventsCollector.
2019         They allow captured messages from InspectorResourceAgent
2020         to frontend (or mockFrontend if frontend disabled) and
2021         push collected data when frontend reconnect.
2022         This functionality is disabled by default.
2023
2024         * CMakeLists.txt:
2025         * GNUmakefile.list.am:
2026         * WebCore.gypi:
2027         * WebCore.pro:
2028         * WebCore.vcproj/WebCore.vcproj:
2029         * WebCore.xcodeproj/project.pbxproj:
2030         * inspector/EventsCollector.cpp: Added.
2031         (WebCore::EventsCollector::EventsCollector):
2032         (WebCore::EventsCollector::addEvent):
2033         (WebCore::EventsCollector::sendCollectedEvents):
2034         * inspector/EventsCollector.h: Added.
2035         (WebCore::EventsCollector::~EventsCollector):
2036         * inspector/Inspector.json:
2037         * inspector/InspectorFrontendProxy.cpp: Added.
2038         (WebCore::InspectorFrontendProxy::InspectorFrontendProxy):
2039         (WebCore::InspectorFrontendProxy::setInspectorFrontendChannel):
2040         (WebCore::InspectorFrontendProxy::setEventsCollector):
2041         (WebCore::InspectorFrontendProxy::sendMessageToFrontend):
2042         * inspector/InspectorFrontendProxy.h: Added.
2043         (WebCore::InspectorFrontendProxy::~InspectorFrontendProxy):
2044         * inspector/InspectorInstrumentation.cpp:
2045         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
2046         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
2047         * inspector/InspectorInstrumentation.h:
2048         (WebCore::InspectorInstrumentation::willSendRequest):
2049         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
2050         (WebCore::InspectorInstrumentation::didReceiveContentLength):
2051         (WebCore::InspectorInstrumentation::didFinishLoading):
2052         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
2053         (WebCore::InspectorInstrumentation::loadEventFired):
2054         (WebCore::InspectorInstrumentation::frameDetachedFromParent):
2055         (WebCore::InspectorInstrumentation::didCreateWebSocket):
2056         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
2057         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
2058         (WebCore::InspectorInstrumentation::didCloseWebSocket):
2059         * inspector/InspectorResourceAgent.cpp:
2060         (WebCore::InspectorResourceAgent::setFrontend):
2061         (WebCore::InspectorResourceAgent::resourceContent):
2062         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
2063         (WebCore::InspectorResourceAgent::didReceiveResponse):
2064         (WebCore::InspectorResourceAgent::domContentEventFired):
2065         (WebCore::InspectorResourceAgent::loadEventFired):
2066         (WebCore::InspectorResourceAgent::enabledBackgoundEventsCoollection):
2067         (WebCore::InspectorResourceAgent::enable):
2068         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
2069         * inspector/InspectorResourceAgent.h:
2070         * inspector/front-end/NetworkManager.js:
2071         (WebInspector.NetworkDispatcher.prototype.domContentEventFired):
2072         (WebInspector.NetworkDispatcher.prototype.loadEventFired):
2073         * inspector/front-end/inspector.js:
2074         (WebInspector.domContentEventFired):
2075         (WebInspector.loadEventFired):
2076
2077 2011-04-15  Alexis Menard  <alexis.menard@openbossa.org>
2078
2079         Reviewed by Dimitri Glazkov.
2080
2081         REGRESSION(r83397) [Qt] When clicking on the media elements they grow 2 pixels.
2082         https://bugs.webkit.org/show_bug.cgi?id=58477
2083
2084         Since r83397 the media controls elements are actual DOM elements.
2085         Therefore the global style-sheet applies to them. html.css defines
2086         input[type="button"]:active to be border-style: inset which means
2087         that when the buttons are active they grow by their border size. Therefore
2088         ports which are not using the borders must explicitly disable them in their custom
2089         stylesheet.
2090
2091         * css/mediaControlsQt.css:
2092         (audio::-webkit-media-controls-mute-button):
2093         (video::-webkit-media-controls-mute-button):
2094         (audio::-webkit-media-controls-play-button):
2095         (video::-webkit-media-controls-play-button):
2096         (video::-webkit-media-controls-fullscreen-button):
2097         * css/mediaControlsQuickTime.css:
2098         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2099         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
2100         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
2101         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
2102         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
2103         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
2104         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
2105         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2106         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
2107
2108 2011-04-15  Zelidrag Hornung  <zelidrag@chromium.org>
2109
2110         Reviewed by Darin Fisher.
2111
2112         Added enums for external file system type.
2113         https://bugs.webkit.org/show_bug.cgi?id=58456
2114
2115         * fileapi/DOMFileSystemBase.cpp:
2116         (WebCore::DOMFileSystemBase::crackFileSystemURL):
2117         * fileapi/DOMFileSystemBase.h:
2118         * fileapi/EntryBase.cpp:
2119         (WebCore::EntryBase::toURL):
2120         * page/DOMWindow.cpp:
2121         (WebCore::DOMWindow::requestFileSystem):
2122         * page/DOMWindow.h:
2123         * platform/AsyncFileSystem.h:
2124         * workers/WorkerContext.cpp:
2125         (WebCore::WorkerContext::requestFileSystem):
2126         (WebCore::WorkerContext::requestFileSystemSync):
2127         * workers/WorkerContext.h:
2128
2129 2011-04-15  Pavel Feldman  <pfeldman@google.com>
2130
2131         Reviewed by Yury Semikhatsky.
2132
2133         Web Inspector: make resource revisions use dedicated type (not Resource clone).
2134         https://bugs.webkit.org/show_bug.cgi?id=58659
2135
2136         * inspector/front-end/CSSStyleModel.js:
2137         (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
2138         * inspector/front-end/Resource.js:
2139         (WebInspector.Resource.prototype.addRevision):
2140         (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
2141         (WebInspector.Resource.prototype._innerRequestContent):
2142         (WebInspector.ResourceRevision):
2143         (WebInspector.ResourceRevision.prototype.get resource):
2144         (WebInspector.ResourceRevision.prototype.get timestamp):
2145         (WebInspector.ResourceRevision.prototype.get content):
2146         (WebInspector.ResourceRevision.prototype.revertToThis):
2147         (WebInspector.ResourceRevision.prototype.requestContent.mycallback):
2148         (WebInspector.ResourceRevision.prototype.requestContent):
2149         * inspector/front-end/ResourceView.js:
2150         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
2151         (WebInspector.ResourceView.resourceViewForResource):
2152         (WebInspector.ResourceView.recreateResourceView):
2153         (WebInspector.ResourceView.existingResourceViewForResource):
2154         (WebInspector.RevisionSourceFrame):
2155         (WebInspector.RevisionSourceFrame.prototype.get resource):
2156         (WebInspector.RevisionSourceFrame.prototype.isContentEditable):
2157         (WebInspector.RevisionSourceFrame.prototype.requestContent):
2158         * inspector/front-end/ResourcesPanel.js:
2159         (WebInspector.ResourcesPanel.prototype._showResourceView):
2160         (WebInspector.ResourcesPanel.prototype._showRevisionView):
2161         (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step1):
2162         (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step2):
2163         (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup):
2164         (WebInspector.ResourceRevisionTreeElement):
2165         (WebInspector.ResourceRevisionTreeElement.prototype.get itemURL):
2166         (WebInspector.ResourceRevisionTreeElement.prototype.onselect):
2167         (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
2168         (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
2169         * inspector/front-end/SourceFrame.js:
2170         (WebInspector.SourceFrame.prototype._ensureContentLoaded):
2171         (WebInspector.SourceFrame.prototype.requestContent):
2172         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
2173         (WebInspector.SourceFrame.prototype.commitEditing):
2174
2175 2011-04-15  Alexander Pavlov  <apavlov@chromium.org>
2176
2177         Reviewed by Yury Semikhatsky.
2178
2179         Web Inspector: Prevent Backspace keypresses from routing into the inspected page
2180         https://bugs.webkit.org/show_bug.cgi?id=58653
2181
2182         * inspector/front-end/inspector.js:
2183         (WebInspector.documentKeyDown):
2184
2185 2011-04-15  Alice Boxhall  <aboxhall@chromium.org>
2186
2187         Reviewed by Ryosuke Niwa.
2188
2189         Text selection changes unexpectedly when dragging out of the <input>
2190         https://bugs.webkit.org/show_bug.cgi?id=55552
2191
2192         Tests: editing/selection/select-out-of-editable.html
2193                editing/selection/select-out-of-floated-contenteditable.html
2194                editing/selection/select-out-of-floated-input.html
2195                editing/selection/select-out-of-floated-textarea.html
2196
2197         * page/EventHandler.cpp:
2198         (WebCore::selectionExtentRespectingEditingBoundary): When dragging from an editable element, check that
2199         the endpoint is not outside the element. If it is, translate the point into a local point within
2200         the editable element.
2201         (WebCore::EventHandler::updateSelectionForMouseDrag): Call targetPositionForSelectionEndpoint() to
2202         calculate the selection endpoint.
2203
2204 2011-04-15  Adam Roben  <aroben@apple.com>
2205
2206         Roll out r83954
2207
2208         It was causing fast/dom/Window/timer-null-script-execution-context.html to crash on multiple
2209         bots.
2210
2211         See <http://webkit.org/b/58610>.
2212
2213         * bindings/js/JSDOMWindowCustom.cpp:
2214         (WebCore::JSDOMWindow::setTimeout):
2215         (WebCore::JSDOMWindow::setInterval):
2216         * bindings/js/JSWorkerContextCustom.cpp:
2217         (WebCore::JSWorkerContext::setTimeout):
2218         (WebCore::JSWorkerContext::setInterval):
2219         * bindings/js/ScheduledAction.cpp:
2220         (WebCore::ScheduledAction::create):
2221         * bindings/js/ScheduledAction.h:
2222         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2223         (WebCore::WindowSetTimeoutImpl):
2224         * page/ContentSecurityPolicy.cpp:
2225         * page/ContentSecurityPolicy.h:
2226
2227 2011-04-15  Pavel Feldman  <pfeldman@google.com>
2228
2229         Reviewed by Yury Semikhatsky.
2230
2231         Web Inspector: refactor resource setContent / revisions infrastructure to get
2232         rid of onRevert callback.
2233         https://bugs.webkit.org/show_bug.cgi?id=58649
2234
2235         Instead, we will have DomainModel/Resource binding responsible for changing
2236         underlying model upon resource changes and vice versa.
2237
2238         * inspector/Inspector.json:
2239         * inspector/InspectorCSSAgent.cpp:
2240         (WebCore::InspectorCSSAgent::getStyleSheet):
2241         (WebCore::InspectorCSSAgent::getStyleSheetText):
2242         (WebCore::InspectorCSSAgent::setStyleSheetText):
2243         (WebCore::InspectorCSSAgent::setPropertyText):
2244         (WebCore::InspectorCSSAgent::toggleProperty):
2245         (WebCore::InspectorCSSAgent::setRuleSelector):
2246         (WebCore::InspectorCSSAgent::assertStyleSheetForId):
2247         * inspector/InspectorCSSAgent.h:
2248         * inspector/front-end/CSSStyleModel.js:
2249         (WebInspector.CSSStyleModel):
2250         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
2251         (WebInspector.CSSStyleModel.prototype.addRule):
2252         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.callback):
2253         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
2254         (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
2255         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
2256         (WebInspector.CSSProperty.prototype.setText):
2257         (WebInspector.CSSProperty.prototype.setText.callback):
2258         (WebInspector.CSSProperty.prototype.setDisabled.callback):
2259         (WebInspector.CSSProperty.prototype.setDisabled):
2260         (WebInspector.CSSStyleSheet.prototype.setText):
2261         (WebInspector.CSSStyleModelResourceBinding):
2262         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
2263         (WebInspector.CSSStyleModelResourceBinding.prototype._frameNavigated):
2264         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
2265         (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
2266         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent):
2267         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
2268         * inspector/front-end/DebuggerPresentationModel.js:
2269         (WebInspector.DebuggerPresentationModel):
2270         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
2271         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
2272         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
2273         (WebInspector.DebuggerPresentationModelResourceBinding):
2274         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
2275         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
2276         * inspector/front-end/Object.js:
2277         (WebInspector.Object.prototype.hasEventListeners):
2278         * inspector/front-end/Resource.js:
2279         (WebInspector.Resource):
2280         (WebInspector.Resource.registerDomainModelBinding):
2281         (WebInspector.Resource.prototype.isEditable):
2282         (WebInspector.Resource.prototype.setContent):
2283         (WebInspector.Resource.prototype.addRevision):
2284         (WebInspector.Resource.prototype.revertToThis.callback):
2285         (WebInspector.Resource.prototype.revertToThis):
2286         (WebInspector.ResourceDomainModelBinding):
2287         (WebInspector.ResourceDomainModelBinding.prototype.canSetContent):
2288         (WebInspector.ResourceDomainModelBinding.prototype.setContent):
2289         * inspector/front-end/ResourceView.js:
2290         (WebInspector.ResourceView.createResourceView):
2291         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
2292         (WebInspector.ResourceSourceFrame.prototype.isContentEditable):
2293         (WebInspector.ResourceSourceFrame.prototype.editContent):
2294         (WebInspector.ResourceSourceFrame.prototype.endEditing):
2295         (WebInspector.ResourceSourceFrame.prototype._clearIncrementalUpdateTimer):
2296         (WebInspector.ResourceSourceFrame.prototype._requestContent):
2297         * inspector/front-end/ResourcesPanel.js:
2298         (WebInspector.ResourcesPanel.prototype._resourceAdded):
2299         (WebInspector.FrameResourceTreeElement):
2300         (WebInspector.FrameResourceTreeElement.prototype._populateRevisions):
2301         (WebInspector.FrameResourceTreeElement.prototype._revisionAdded):
2302         (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
2303         * inspector/front-end/inspector.html:
2304
2305 2011-04-15  Andrey Kosyakov  <caseq@chromium.org>
2306
2307         Unreviewed, rolling out r83949.
2308         http://trac.webkit.org/changeset/83949
2309         https://bugs.webkit.org/show_bug.cgi?id=57960
2310
2311         broke 31 tests in chromium win & linux
2312
2313         * platform/graphics/chromium/GLES2Canvas.cpp:
2314         (WebCore::GLES2Canvas::drawTexturedRect):
2315         * platform/graphics/chromium/GLES2Canvas.h:
2316         * platform/graphics/gpu/Texture.cpp:
2317         (WebCore::copySubRect):
2318         (WebCore::Texture::load):
2319         (WebCore::Texture::updateSubRect):
2320         * platform/graphics/gpu/Texture.h:
2321         * platform/graphics/skia/ImageBufferSkia.cpp:
2322         (WebCore::getImageData):
2323         (WebCore::putImageData):
2324         (WebCore::ImageBuffer::putUnmultipliedImageData):
2325         (WebCore::ImageBuffer::putPremultipliedImageData):
2326
2327 2011-04-15  Ben Taylor  <bentaylor.solx86@gmail.com>
2328
2329         Reviewed by Alexey Proskuryakov.
2330
2331         Fix building with Sun Studio 12: function pointers for extern "C" are treated differently
2332         https://bugs.webkit.org/show_bug.cgi?id=58508
2333
2334         Since extern "C" makes a different type (although most compilers ignore that),
2335         we should be more careful when passing NPAPI callback functions.
2336
2337         * plugins/npapi.cpp:
2338         (NPN_PluginThreadAsyncCall):
2339
2340 2011-04-15  Adam Barth  <abarth@webkit.org>
2341
2342         Reviewed by Eric Seidel.
2343
2344         CSP should block string arguments to setTimeout and setInterval unless options eval-script
2345         https://bugs.webkit.org/show_bug.cgi?id=58610
2346
2347         It's somewhat sadness that the JSC and V8 code for setTimeout and
2348         setInterval are so different.  I struggled for a while with how to
2349         handle the worker case, but I decided to punt on it for now.
2350
2351         Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
2352                http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
2353                http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
2354                http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html
2355
2356         * bindings/js/JSDOMWindowCustom.cpp:
2357         (WebCore::JSDOMWindow::setTimeout):
2358         (WebCore::JSDOMWindow::setInterval):
2359         * bindings/js/JSWorkerContextCustom.cpp:
2360         (WebCore::JSWorkerContext::setTimeout):
2361         (WebCore::JSWorkerContext::setInterval):
2362         * bindings/js/ScheduledAction.cpp:
2363         (WebCore::ScheduledAction::create):
2364         * bindings/js/ScheduledAction.h:
2365         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2366         (WebCore::WindowSetTimeoutImpl):
2367         * page/ContentSecurityPolicy.cpp:
2368         (WebCore::ContentSecurityPolicy::allowEval):
2369         * page/ContentSecurityPolicy.h:
2370
2371 2011-04-15  Adam Barth  <abarth@webkit.org>
2372
2373         Reviewed by Eric Seidel.
2374
2375         Add support for CSP's 'self' source
2376         https://bugs.webkit.org/show_bug.cgi?id=58604
2377
2378         This change is now trivially easy.
2379
2380         Test: http/tests/security/contentSecurityPolicy/script-src-self.html
2381
2382         * page/ContentSecurityPolicy.cpp:
2383         (WebCore::CSPSourceList::addSourceSelf):
2384
2385 2011-04-15  Anna Cavender  <annacc@chromium.org>
2386
2387         Reviewed by Eric Carlson.
2388
2389         Renaming TRACK feature define to VIDEO_TRACK
2390         https://bugs.webkit.org/show_bug.cgi?id=53556
2391
2392         No new tests. No new functionality.
2393
2394         * CMakeLists.txt:
2395         * Configurations/FeatureDefines.xcconfig:
2396         * DerivedSources.make:
2397         * GNUmakefile.am:
2398         * features.pri:
2399         * html/HTMLTagNames.in:
2400         * html/HTMLTrackElement.cpp:
2401         * html/HTMLTrackElement.h:
2402         * html/HTMLTrackElement.idl:
2403
2404 2011-04-14  Andrey Adaikin  <aandrey@google.com>
2405
2406         Reviewed by Pavel Feldman.
2407
2408         Web Inspector: Ctrl+Left/Right switch panels during live editing
2409         https://bugs.webkit.org/show_bug.cgi?id=58521
2410
2411         Disable Ctrl+Left/Right keyboard shortcuts while in live edit.
2412
2413         * inspector/front-end/SourceFrame.js:
2414         (WebInspector.SourceFrame.prototype.readOnlyStateChanged):
2415         * inspector/front-end/TextViewer.js:
2416         (WebInspector.TextViewer.prototype.set readOnly):
2417         (WebInspector.TextViewer.prototype.get readOnly):
2418         (WebInspector.TextViewer.prototype._doubleClick):
2419         (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
2420         (WebInspector.TextViewer.prototype._commitEditing):
2421         (WebInspector.TextViewer.prototype._cancelEditing):
2422         (WebInspector.TextViewerDelegate.prototype.readOnlyStateChanged):
2423         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
2424         * inspector/front-end/inspector.js:
2425         (WebInspector.markBeingEdited):
2426         (WebInspector.isEditingAnyField):
2427         (WebInspector.startEditing.cleanUpAfterEditing):
2428
2429 2011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
2430
2431         Reviewed by Pavel Feldman.
2432
2433         Web Inspector: Enable raw HTTP headers support
2434         https://bugs.webkit.org/show_bug.cgi?id=58259
2435
2436         Added raw headers text support to inspector.
2437
2438         * English.lproj/localizedStrings.js:
2439         * inspector/Inspector.json:
2440         * inspector/InspectorResourceAgent.cpp:
2441         (WebCore::buildObjectForResourceResponse):
2442         * inspector/front-end/NetworkManager.js:
2443         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
2444         * inspector/front-end/Resource.js:
2445         (WebInspector.Resource):
2446         (WebInspector.Resource.prototype.get transferSize):
2447         (WebInspector.Resource.prototype.set requestHeaders):
2448         (WebInspector.Resource.prototype.get rawRequestHeadersText):
2449         (WebInspector.Resource.prototype.set rawRequestHeadersText):
2450         (WebInspector.Resource.prototype.get requestHeadersSize):
2451         (WebInspector.Resource.prototype.set responseHeaders):
2452         (WebInspector.Resource.prototype.get rawResponseHeadersText):
2453         (WebInspector.Resource.prototype.set rawResponseHeadersText):
2454         (WebInspector.Resource.prototype.get responseHeadersSize):
2455         (WebInspector.Resource.prototype._headersSize):
2456         * inspector/front-end/ResourceHeadersView.js:
2457         (WebInspector.ResourceHeadersView):
2458         (WebInspector.ResourceHeadersView.prototype._refreshParms):
2459         (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
2460         (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
2461         (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
2462         (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
2463         (WebInspector.ResourceHeadersView.prototype._refreshRawHeadersText):
2464         (WebInspector.ResourceHeadersView.prototype._toggleRawRequestHeadersText):
2465         (WebInspector.ResourceHeadersView.prototype._toggleRawResponseHeadersText):
2466         (WebInspector.ResourceHeadersView.prototype._createToggleButton):
2467         (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
2468         * inspector/front-end/networkPanel.css:
2469         (.resource-headers-view .outline-disclosure li .header-toggle):
2470         (.resource-headers-view .outline-disclosure li.expanded .header-toggle):
2471         (.resource-headers-view .outline-disclosure li .header-toggle:hover):
2472         (.resource-headers-view .outline-disclosure li.raw-headers-text):
2473         * platform/network/ResourceLoadInfo.h:
2474
2475 2011-04-14  Justin Novosad  <junov@chromium.org>
2476
2477         Reviewed by Kenneth Russell.
2478
2479         [Chromium] Accelerated 2D Canvas is slow to execute putImageData
2480         https://bugs.webkit.org/show_bug.cgi?id=57960
2481
2482         * platform/graphics/chromium/GLES2Canvas.cpp:
2483         (WebCore::GLES2Canvas::drawTexturedRect):
2484         Added an option for using the blend ops for alpha multiplication
2485         instead of compositing.
2486         (WebCore::GLES2Canvas::applyClipping):
2487         (WebCore::GLES2Canvas::putImageData):
2488         New method for drawing raw pixel data from memory to the canvas
2489         (WebCore::GLES2Canvas::putUnmultipliedImageData):
2490         Wrapper for putImageData
2491         (WebCore::GLES2Canvas::putPremultipliedImageData):
2492         Wrapper for putImageData
2493         * platform/graphics/chromium/GLES2Canvas.h:
2494         * platform/graphics/gpu/Texture.cpp:
2495         (WebCore::copySubRect):
2496         (WebCore::Texture::load):
2497         (WebCore::Texture::updateSubRect):
2498         Added an overload of the updateSubRect method that can receive a pixel 
2499         of a size that is different from texture size. Improved the performance
2500         of updateSubrect by avoiding the allocation of a temporary buffer when
2501         not required.
2502         * platform/graphics/gpu/Texture.h:
2503         * platform/graphics/skia/ImageBufferSkia.cpp:
2504         (WebCore::getImageData):
2505         In the unmultiplied path, division by alpha now performs proper
2506         rounding in order to avoid generational degradation with putImageData
2507         (WebCore::putImageData):
2508         Alpha multiplication now performs proper rounding in order to be
2509         consistent with the hardware rendering path: OpenGL always rounds when
2510         converting to fixed point representation.
2511         (WebCore::ImageBuffer::putUnmultipliedImageData):
2512         Now supports a hardware rendering path, which eliminates the need
2513         for a readback from the GPU
2514         (WebCore::ImageBuffer::putPremultipliedImageData):
2515         Now supports a hardware rendering path, which eliminates the need
2516         for a readback from the GPU
2517
2518 2011-04-14  Joone Hur  <joone.hur@collabora.co.uk>
2519
2520         Reviewed by Martin Robinson.
2521
2522         Creating a CairoPath instance is not thread safe
2523         https://bugs.webkit.org/show_bug.cgi?id=58514
2524
2525         This patch allows a cairo surface to be created just one time in order to 
2526         guarantee thread safety.
2527         In addition, CairoPath.{h,cpp} is renamed to PlatformPathCairo.{h,cpp} to 
2528         prevent confusing them with PathCairo.cpp
2529
2530         * CMakeListsEfl.txt: Added PlatformPathCairo.cpp
2531         * GNUmakefile.list.am: Added PlatformPathCairo.{h,cpp} instead of CairoPath.h.
2532         * platform/graphics/cairo/CairoPath.h: Removed.
2533         * platform/graphics/cairo/CairoUtilities.cpp: Include PlatformPathCairo.h instead of CairoPath.h.
2534         * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
2535         * platform/graphics/cairo/PathCairo.cpp: Ditto.
2536         * platform/graphics/cairo/PlatformPathCairo.cpp: Added.
2537         (WebCore::getPathSurface): Getting a static cairo surface.
2538         (WebCore::CairoPath::CairoPath): Moved the implementation of the constructor 
2539         into the CPP file.
2540         * platform/graphics/cairo/PlatformPathCairo.h: Renamed CairoPath.h to this.
2541         (WebCore::CairoPath::~CairoPath):
2542         (WebCore::CairoPath::context):
2543
2544 2011-04-14  Nat Duca  <nduca@chromium.org>
2545
2546         Reviewed by Darin Fisher.
2547
2548         [chromium] Add lowpass filter and graph to fps indicator
2549         https://bugs.webkit.org/show_bug.cgi?id=58186
2550
2551         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2552         (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
2553         (WebCore::CCHeadsUpDisplay::drawHudContents):
2554         (WebCore::CCHeadsUpDisplay::drawFPSCounter):
2555         (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree):
2556         (WebCore::CCHeadsUpDisplay::onPresent):
2557         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
2558
2559 2011-04-14  Beth Dakin  <bdakin@apple.com>
2560
2561         Reviewed by Adele Peterson.
2562
2563         https://bugs.webkit.org/show_bug.cgi?id=58612
2564         Crash switching overlay/non-overlay scrollbar preference 
2565         (WebCore::Page::setNeedsRecalcStyleInAllFrames + 9)
2566         -and corresponding-
2567         <rdar://problem/9241920> 
2568
2569         Speculative fix: Page could definitely be null here. 
2570         * page/FrameView.cpp:
2571         (WebCore::FrameView::scrollbarStyleChanged):
2572
2573 2011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
2574
2575         Reviewed by Pavel Feldman.
2576
2577         Web Inspector: ResourceResponse should have encodedDataLength field for synchronous requests transfer size
2578         https://bugs.webkit.org/show_bug.cgi?id=58447
2579
2580         FrameLoader now takes encoded data length for synchronous requests from the field with the same name.
2581
2582         * loader/FrameLoader.cpp:
2583         (WebCore::FrameLoader::loadResourceSynchronously):
2584         * platform/network/ResourceLoadInfo.h:
2585         (WebCore::ResourceLoadInfo::ResourceLoadInfo):
2586
2587 2011-04-14  Alok Priyadarshi  <alokp@chromium.org>
2588
2589         Reviewed by James Robinson.
2590
2591         Remove dependency on chromium skia::PlatformCanvas
2592         https://bugs.webkit.org/show_bug.cgi?id=57563
2593
2594         This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas. The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium. We will eventually define an API that every port using skia will define.
2595
2596         * platform/graphics/chromium/FontChromiumWin.cpp:
2597         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
2598         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
2599         (WebCore::Font::drawComplexText):
2600         * platform/graphics/chromium/ImageBufferDataSkia.h:
2601         * platform/graphics/chromium/LayerChromium.h:
2602         * platform/graphics/chromium/LayerRendererChromium.h:
2603         * platform/graphics/chromium/PlatformCanvas.cpp:
2604         (WebCore::PlatformCanvas::resize):
2605         * platform/graphics/chromium/PlatformCanvas.h:
2606         * platform/graphics/chromium/TransparencyWin.cpp:
2607         (WebCore::TransparencyWin::compositeTextComposite):
2608         (WebCore::TransparencyWin::makeLayerOpaque):
2609         * platform/graphics/skia/ImageBufferSkia.cpp:
2610         (WebCore::ImageBuffer::ImageBuffer):
2611         * platform/graphics/skia/ImageSkia.cpp:
2612         (WebCore::paintSkBitmap):
2613         (WebCore::Image::drawPattern):
2614         * platform/graphics/skia/PlatformContextSkia.cpp:
2615         (WebCore::PlatformContextSkia::PlatformContextSkia):
2616         (WebCore::PlatformContextSkia::setCanvas):
2617         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
2618         * platform/graphics/skia/PlatformContextSkia.h:
2619         (WebCore::PlatformContextSkia::canvas):
2620         (WebCore::PlatformContextSkia::printing):
2621         (WebCore::PlatformContextSkia::setPrinting):
2622
2623 2011-04-14  Eric Seidel  <eric@webkit.org>
2624
2625         Reviewed by Simon Fraser.
2626
2627         PumpSession should not call currentTime() in the constructor
2628         https://bugs.webkit.org/show_bug.cgi?id=55211
2629
2630         currentTime() is expensive.  So we avoid calling it in the constructor
2631         and instead set startTime on the first check for a yield
2632         (which in the synchronous case never happens, and in the yielding
2633         case will happen immediately after the first token due to
2634         processedTokens being set to INT_MAX).
2635
2636         This ended up being a large win on (my local copy of)
2637         peacekeeper's domDynamicCreationCreateElement:
2638
2639         Before:
2640         avg 366.3333333333333
2641         median 366
2642         stdev 2.712112747574399
2643         min 362
2644         max 377
2645
2646         After:
2647         avg 345.96666666666664
2648         median 346
2649         stdev 1.6829207415152454
2650         min 343
2651         max 349
2652
2653         * html/parser/HTMLDocumentParser.cpp:
2654         * html/parser/HTMLParserScheduler.h:
2655         (WebCore::PumpSession::PumpSession):
2656         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
2657
2658 2011-04-14  Ami Fischman  <fischman@google.com>
2659
2660         Reviewed by Eric Carlson.
2661
2662         Remove unnecessary bottom margin of controls in video elements on media documents.
2663         This makes the cases of media documents and non-media documents consistent,
2664         and makes it possible to reason about the height of a rendered media document
2665         (needed e.g. for sizing iframes).
2666
2667         This change is covered by (the currently Skipped, but soon-to-be-un-Skipped)
2668         media/video-controls-in-media-document.html layouttest (see bug 54634 for
2669         the un-Skipping).
2670
2671         https://bugs.webkit.org/show_bug.cgi?id=58442
2672
2673         * css/mediaControls.css:
2674         (video:-webkit-full-page-media::-webkit-media-controls-panel):
2675         * css/mediaControlsEfl.css:
2676         (video:-webkit-full-page-media::-webkit-media-controls-panel):
2677         * css/mediaControlsQuickTime.css:
2678         (video:-webkit-full-page-media::-webkit-media-controls-panel):
2679
2680 2011-04-14  Geoffrey Garen  <ggaren@apple.com>
2681
2682         Reviewed by Oliver Hunt.
2683
2684         Use opaque roots instead of direct marking for nodes in the DOM
2685         https://bugs.webkit.org/show_bug.cgi?id=58624
2686
2687         A node treats the root of its tree (usually the document) as its opaque
2688         root during GC.
2689         
2690         This is needed for correctness in a generational GC world, but it also
2691         happens to be a 3.5X speedup in a DOM-heavy GC test (scratch-gc-dom2.html).
2692
2693         * bindings/js/DOMWrapperWorld.cpp:
2694         (WebCore::isObservable):
2695         (WebCore::isReachableFromDOM): Moved a helper function from JSDOMBinding.
2696         We use this function to determine whether a node is observable.
2697
2698         (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots): Start using
2699         our weak handle callback to determine reachability, instead of direct
2700         marking traversal through the DOM.
2701
2702         * bindings/js/JSAttrCustom.cpp:
2703         (WebCore::JSAttr::markChildren): Updated to use the opaque roots mechanism
2704         instead of direct marking.
2705
2706         * bindings/js/JSDOMBinding.cpp:
2707         * bindings/js/JSDOMBinding.h: Moved code mentioned above. Removed
2708         markDOMNodeWrapper because it is now unused. This is a good thing because
2709         markDOMNodeWrapper used deprecatedAppend, which is not compatible
2710         with generational GC.
2711
2712         * bindings/js/JSDOMImplementationCustom.cpp:
2713         (WebCore::JSDOMImplementation::markChildren): Updated to use opaque roots.
2714
2715         * bindings/js/JSDocumentCustom.cpp:
2716         (WebCore::JSDocument::markChildren): No need to mark our child nodes directly,
2717         since they will take care of themselves through the opaque roots mechanism.
2718
2719         * bindings/js/JSNamedNodeMapCustom.cpp:
2720         (WebCore::JSNamedNodeMap::markChildren): Updated to use opaque roots.
2721
2722         * bindings/js/JSNodeCustom.cpp:
2723         (WebCore::JSNode::markChildren): No need to mark our tree or our document
2724         directly, since they will take care of themselves through the opaque
2725         roots mechanism.
2726
2727         * bindings/js/JSNodeCustom.h:
2728         (WebCore::root): Helper function for accessing the root of a node tree.
2729         This is O(1) while you're in the document, O(log(N)) when you're in a
2730         reasonably balanced disconnected tree, and O(N) in the pathological case
2731         of a disconnected tree that's shaped like a linked list. If average case
2732         O(long(N)) turns out to be too slow, we can optimize through use of
2733         rare data or an external hash table, but it is so uncommon that I have
2734         ignored it for now.
2735
2736         * bindings/js/JSSVGElementInstanceCustom.cpp:
2737         (WebCore::JSSVGElementInstance::markChildren): Updated to use opaque roots.
2738
2739 2011-04-14  Mike Reed  <reed@google.com>
2740
2741         Reviewed by Kenneth Russell.
2742
2743         fix shadows with gradients
2744         https://bugs.webkit.org/show_bug.cgi?id=58376
2745
2746         No new tests. Existing tests exercise this
2747         LayoutTests/fast/canvas/canvas-fillPath-gradient-shadow.html
2748
2749         * platform/graphics/skia/GraphicsContextSkia.cpp:
2750         (WebCore::GraphicsContext::setPlatformShadow):
2751
2752 2011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
2753
2754         Reviewed by Pavel Feldman.
2755
2756         Web Inspector: No headers information in network panel for downloads.
2757         https://bugs.webkit.org/show_bug.cgi?id=58139
2758
2759         Passed resource response to inspector for PolicyDownload and PolicyIgnore requests.
2760
2761         Test: http/tests/inspector/network/download.html
2762
2763         * inspector/InspectorInstrumentation.cpp:
2764         (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
2765         (WebCore::InspectorInstrumentation::continueWithPolicyDownloadImpl):
2766         (WebCore::InspectorInstrumentation::continueWithPolicyIgnoreImpl):
2767         * inspector/InspectorInstrumentation.h:
2768         (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
2769         (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
2770         * loader/MainResourceLoader.cpp:
2771         (WebCore::MainResourceLoader::continueAfterContentPolicy):
2772
2773 2011-04-14  Joone Hur  <joone.hur@collabora.co.uk>
2774
2775         Reviewed by Martin Robinson.
2776
2777         Convert use of raw pointers to RefPtr in using Cairo
2778         https://bugs.webkit.org/show_bug.cgi?id=57717
2779
2780         No new tests added becaue of just replacing raw pointers with smart pointers.
2781
2782         * platform/graphics/cairo/ContextShadowCairo.cpp: Use a RefPtr<cairo_surface_t> instead of raw pointer.
2783         (WebCore::purgeScratchBuffer):
2784         (WebCore::getScratchBuffer):
2785         * platform/graphics/cairo/ImageBufferCairo.cpp: Use a RefPtr<cairo_t> instead of raw pointer.
2786         (copySurface):
2787
2788 2011-04-14  Naoki Takano  <takano.naoki@gmail.com>
2789
2790         Reviewed by Eric Seidel.
2791
2792         [Chromium]Change menu list background fallback value to transparent to work background:none for HTML select tag.
2793         https://bugs.webkit.org/show_bug.cgi?id=57818
2794
2795         Test: fast/forms/select-background-none.html
2796
2797         This fix is only for Chromium on Linux. Chromium on Mac already works fine.
2798         But Windows has the same problem. This change doesn't include Windows part.
2799
2800         * rendering/RenderThemeChromiumLinux.cpp:
2801         (WebCore::RenderThemeChromiumLinux::paintMenuList): Change the default color to transparent.
2802
2803 2011-04-14  Luke Macpherson   <macpherson@chromium.org>
2804
2805         Reviewed by Dimitri Glazkov.
2806
2807         Implement border style css properties in CSSStyleApplyProperty
2808         https://bugs.webkit.org/show_bug.cgi?id=58506
2809
2810         No new functionality added.
2811
2812         * css/CSSStyleApplyProperty.cpp:
2813         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2814         Added new property initializers.
2815
2816         * css/CSSStyleSelector.cpp:
2817         (WebCore::CSSStyleSelector::applyProperty):
2818         Removed old property handlers.
2819
2820 2011-04-14  Dimitri Glazkov  <dglazkov@chromium.org>
2821
2822         Reviewed by Ojan Vafai.
2823
2824         Presence of shadow DOM should suppress rendering of ordinary child nodes
2825         https://bugs.webkit.org/show_bug.cgi?id=58073
2826
2827         Test: fast/dom/shadow/no-renderers-for-light-children.html
2828
2829         * dom/Node.cpp:
2830         (WebCore::shadowRoot): Added a helper function.
2831         (WebCore::Node::setDocumentRecursively): Changed to use the helper.
2832         (WebCore::shouldCreateRendererFor): Expanded a long condition check into a helper function,
2833             added a check for children of an element with a shadow DOM.
2834         (WebCore::Node::createRendererAndStyle): Changed to use the helper.
2835
2836 2011-04-14  Adrienne Walker  <enne@google.com>
2837
2838         Reviewed by James Robinson.
2839
2840         [chromium] Tile content and image layers
2841         https://bugs.webkit.org/show_bug.cgi?id=57113
2842
2843         Layers tile by default if any dimension is larger than 512.  Smaller
2844         layers are contained within a single texture but still use the tiler
2845         infrastructure so that there's only one code path.
2846
2847         Remove large layer support from content layers.  Content layers no
2848         longer own a platform canvas--they own a tiler.  Refactor tiler to
2849         allow for better separation of update/upload/paint.  Add rect
2850         parameter to update and draw functions on layers for the layer-space
2851         rect of interest.  This is necessary to know which tiles need to be
2852         drawn.
2853
2854         * platform/graphics/chromium/ContentLayerChromium.cpp:
2855         (WebCore::ContentLayerChromium::ContentLayerChromium):
2856         (WebCore::ContentLayerChromium::~ContentLayerChromium):
2857         (WebCore::ContentLayerPainter::ContentLayerPainter):
2858         (WebCore::ContentLayerPainter::paint):
2859         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2860         (WebCore::ContentLayerChromium::setLayerRenderer):
2861         (WebCore::ContentLayerChromium::tilingTransform):
2862         (WebCore::ContentLayerChromium::visibleLayerRect):
2863         (WebCore::ContentLayerChromium::layerBounds):
2864         (WebCore::ContentLayerChromium::updateLayerSize):
2865         (WebCore::ContentLayerChromium::draw):
2866         (WebCore::ContentLayerChromium::createTilerIfNeeded):
2867         (WebCore::ContentLayerChromium::updateCompositorResources):
2868         (WebCore::ContentLayerChromium::setTilingOption):
2869         (WebCore::ContentLayerChromium::bindContentsTexture):
2870         (WebCore::ContentLayerChromium::unreserveContentsTexture):
2871         (WebCore::ContentLayerChromium::setIsMask):
2872         (WebCore::ContentLayerChromium::dumpLayerProperties):
2873         * platform/graphics/chromium/ContentLayerChromium.h:
2874         (WebCore::ContentLayerChromium::drawsContent):
2875         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2876         (WebCore::GraphicsLayerChromium::setMaskLayer):
2877         * platform/graphics/chromium/ImageLayerChromium.cpp:
2878         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2879         (WebCore::ImageLayerChromium::updateCompositorResources):
2880         (WebCore::ImageLayerChromium::layerBounds):
2881         (WebCore::ImageLayerChromium::tilingTransform):
2882         * platform/graphics/chromium/ImageLayerChromium.h:
2883         * platform/graphics/chromium/LayerChromium.h:
2884         (WebCore::LayerChromium::invalidateRect):
2885         (WebCore::LayerChromium::paintContentsIfDirty):
2886         (WebCore::LayerChromium::setIsMask):
2887         (WebCore::LayerChromium::draw):
2888         * platform/graphics/chromium/LayerRendererChromium.cpp:
2889         (WebCore::LayerRendererChromium::drawRootLayer):
2890         (WebCore::LayerRendererChromium::drawLayers):
2891         (WebCore::LayerRendererChromium::paintContentsRecursive):
2892         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
2893         (WebCore::LayerRendererChromium::drawLayer):
2894         (WebCore::LayerRendererChromium::initializeSharedObjects):
2895         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2896         * platform/graphics/chromium/LayerRendererChromium.h:
2897         * platform/graphics/chromium/LayerTilerChromium.cpp:
2898         (WebCore::LayerTilerChromium::setTileSize):
2899         (WebCore::LayerTilerChromium::getSingleTexture):
2900         (WebCore::LayerTilerChromium::invalidateRect):
2901         (WebCore::LayerTilerChromium::update):
2902         (WebCore::LayerTilerChromium::uploadCanvas):
2903         (WebCore::LayerTilerChromium::updateFromPixels):
2904         (WebCore::LayerTilerChromium::draw):
2905         (WebCore::LayerTilerChromium::unreserveTextures):
2906         * platform/graphics/chromium/LayerTilerChromium.h:
2907         (WebCore::LayerTilerChromium::setLayerRenderer):
2908         (WebCore::LayerTilerChromium::skipsDraw):
2909         * platform/graphics/chromium/PlatformCanvas.cpp:
2910         (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
2911         (WebCore::PlatformCanvas::Painter::Painter):
2912         * platform/graphics/chromium/PlatformCanvas.h:
2913         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2914         (WebCore::RenderSurfaceChromium::draw):
2915         * platform/graphics/chromium/RenderSurfaceChromium.h:
2916         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
2917         (WebCore::CCCanvasLayerImpl::draw):
2918         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
2919         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2920         (WebCore::CCHeadsUpDisplay::draw):
2921         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2922         (WebCore::CCLayerImpl::draw):
2923         * platform/graphics/chromium/cc/CCLayerImpl.h:
2924         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2925         (WebCore::CCPluginLayerImpl::draw):
2926         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
2927         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2928         (WebCore::CCVideoLayerImpl::draw):
2929         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2930
2931 2011-04-14  James Robinson  <jamesr@chromium.org>
2932
2933         Reviewed by Darin Fisher.
2934
2935         [chromium] REGRESSION(83820): Composited scrollbar layers sometimes not positioned when initially creating frame
2936         https://bugs.webkit.org/show_bug.cgi?id=58575
2937
2938         Tell the RenderLayerCompositor to create/destroy composited layers for overflow controls on a FrameView when visibleContentsResized()
2939         is called, not contentsResized() so that we always update layers when adding or removing scrollbars.
2940
2941         Covered by several chromium pixel tests.
2942
2943         * page/FrameView.cpp:
2944         (WebCore::FrameView::contentsResized):
2945         (WebCore::FrameView::visibleContentsResized):
2946
2947 2011-04-07  David Levin  <levin@chromium.org>
2948
2949         Reviewed by Brady Eidson.
2950
2951         Fix some threading issues in IconDatabase.
2952         https://bugs.webkit.org/show_bug.cgi?id=57985
2953
2954         No functionality change so no new tests. It would be very hard to test this, but
2955         I am working on a change for bug 31639 to detect these (which makes layout tests
2956         fail for at least one of these issues).
2957
2958         * loader/icon/IconDatabase.cpp:
2959         (WebCore::IconDatabase::setIconDataForIconURL): Release imageData so that it won't get deref'ed outside of locks.
2960         (WebCore::IconDatabase::readFromDatabase): Ditto.
2961         (WebCore::IconDatabase::writeToDatabase): Acquire m_urlAndIconLock because the SharedBuffer<> data
2962         is used, and this lock seems to be the one which consistently guards it.
2963
2964 2011-04-14  Dmitry Titov  <dimich@chromium.org>
2965
2966         Reviewed by David Levin.
2967
2968         Simplifying Worker termination sequence (removing unnecessary mutex)
2969         https://bugs.webkit.org/show_bug.cgi?id=57090
2970
2971         No new tests. Existing Worker tests should pass.
2972
2973         * bindings/js/JSEventListener.cpp:
2974         (WebCore::JSEventListener::handleEvent):
2975         Check for Terminator-caused exception (or Terminator::shouldTerminate since sometimes
2976         JS might not run significant enough chunk to be terminated by Terminator) and set
2977         the flag to forbid future reentry into JS.
2978
2979         * bindings/js/WorkerScriptController.cpp:
2980         (WebCore::WorkerScriptController::evaluate):
2981         (WebCore::WorkerScriptController::scheduleExecutionTermination):
2982         (WebCore::WorkerScriptController::forbidExecution):
2983         (WebCore::WorkerScriptController::isExecutionForbidden):
2984         * bindings/js/WorkerScriptController.h:
2985         * bindings/v8/WorkerScriptController.cpp:
2986         (WebCore::WorkerScriptController::evaluate):
2987         (WebCore::WorkerScriptController::scheduleExecutionTermination):
2988         (WebCore::WorkerScriptController::forbidExecution):
2989         (WebCore::WorkerScriptController::isExecutionForbidden):
2990         * bindings/v8/WorkerScriptController.h:
2991         (WebCore::WorkerScriptController::proxy):
2992         Symmetrical changes to JSC and V8 WorkerScriptControllers:
2993         - remove Mutex around operations with executionForbidden flag.
2994         - set/check that flag only on Worker thread.
2995         - some renaming in attempt to better reflect what the methods do.
2996
2997         * bindings/v8/V8AbstractEventListener.cpp:
2998         (WebCore::V8AbstractEventListener::handleEvent):
2999         (WebCore::V8AbstractEventListener::invokeEventHandler):
3000         * bindings/v8/WorkerContextExecutionProxy.cpp:
3001         (WebCore::WorkerContextExecutionProxy::evaluate):
3002         Check for v8::TryCatch::CanContinue() and set forbidExecution flag.
3003         This result indicates that TerminateExecution() was in effect - we should
3004         not reenter V8 anymore after that.
3005
3006         * dom/Document.h:
3007         (WebCore::Document::isJSExecutionForbidden):
3008         * dom/MessagePort.cpp:
3009         (WebCore::MessagePort::dispatchMessages):
3010         Stop dispatching messages once the worker context started to close.
3011         Per Workers spec, once WorkerGlobalScope.Close() is called, the next
3012         JS execution does not happen, including onmessage events. Before this
3013         change, Close() was setting the forbidExecution flag, indirectly stopping
3014         events from dispatching.
3015
3016         * dom/ScriptExecutionContext.h:
3017         * workers/WorkerContext.cpp:
3018         (WebCore::WorkerContext::close):
3019         (WebCore::WorkerContext::isJSExecutionForbidden):
3020         * workers/WorkerContext.h:
3021         * workers/WorkerThread.cpp:
3022         (WebCore::WorkerThread::workerThread):
3023         (WebCore::WorkerThread::stop):
3024
3025 2011-04-14  Beth Dakin  <bdakin@apple.com>
3026
3027         Reviewed by Simon Fraser.
3028
3029         https://bugs.webkit.org/show_bug.cgi?id=56493
3030         Drag-scrolling overlay scrollbars thumb in overflow regions does not work
3031         -and corresponding-
3032         <rdar://problem/9112688>
3033
3034         There was an original change to fix this in the normal hit-testing case, but hit 
3035         testing of transformed and/or positioned objects was still broken. The transformed 
3036         case is fixed by sending an OverlayScrollbarSizeRelevancy parameter to 
3037         calculateRects(). Getting positioned objects right is a little trickier. Those need 
3038         to opt into using temporary clip rects during hit testing. To avoid doing that when 
3039         it is not necessary, I added a new bit to ScrollView to track whether there are 
3040         currently overlay scrollbars painted in the view.
3041         * platform/ScrollView.cpp:
3042         (WebCore::ScrollView::ScrollView):
3043         (WebCore::ScrollView::wheelEvent):
3044         * platform/ScrollView.h:
3045         (WebCore::ScrollView::containsScrollableAreaWithOverlayScrollbars):
3046         (WebCore::ScrollView::setContainsScrollableAreaWithOverlayScrollbars):
3047         * rendering/RenderLayer.cpp:
3048         (WebCore::RenderLayer::paintOverflowControls):
3049         (WebCore::RenderLayer::hitTestLayer):
3050         (WebCore::RenderLayer::updateClipRects):
3051         (WebCore::RenderLayer::calculateClipRects):
3052         (WebCore::RenderLayer::parentClipRects):
3053         (WebCore::RenderLayer::backgroundClipRect):
3054         (WebCore::RenderLayer::calculateRects):
3055         * rendering/RenderLayer.h:
3056
3057 2011-04-14  Antti Koivisto  <antti@apple.com>
3058
3059         Reviewed by Oliver Hunt.
3060
3061         REGRESSION(r74107): Including svg format in @font-face rules makes Web Fonts fail to load
3062         https://bugs.webkit.org/show_bug.cgi?id=57766
3063         <rdar://problem/9232183>
3064
3065         Move the knowledge of whether to interpret a font as SVG from CachedFont to CSSFontFaceSource. This way
3066         we can try to interpret the same cached resource in multiple ways.
3067
3068         Test: fast/css/font-face-repeated-url.html
3069
3070         * css/CSSFontFaceSource.cpp:
3071         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
3072         (WebCore::CSSFontFaceSource::getFontData):
3073         * css/CSSFontFaceSource.h:
3074         (WebCore::CSSFontFaceSource::setHasExternalSVGFont):
3075         * css/CSSFontSelector.cpp:
3076         (WebCore::CSSFontSelector::addFontFaceRule):
3077         * loader/cache/CachedFont.cpp:
3078         (WebCore::CachedFont::CachedFont):
3079         (WebCore::CachedFont::ensureCustomFontData):
3080         (WebCore::CachedFont::ensureSVGFontData):
3081
3082             Use TextResourceDecoder correctly.
3083
3084         (WebCore::CachedFont::getSVGFontById):
3085         * loader/cache/CachedFont.h:
3086         * svg/SVGFontFaceUriElement.cpp:
3087         (WebCore::SVGFontFaceUriElement::loadFont):
3088
3089 2011-04-14  Kenneth Russell  <kbr@google.com>
3090
3091         Reviewed by Dimitri Glazkov.
3092
3093         Enable building Web Audio with MKL in Chrome-branded builds
3094         https://bugs.webkit.org/show_bug.cgi?id=58561
3095
3096         Factored out MKL support into a separate GYP file that is
3097         incorporated in Chrome-branded builds. Changed how the FFTFrame
3098         implementations are pulled in and chosen so that all files can be
3099         unconditionally compiled.
3100
3101         Tested with both Chrome-branded build (incorporating MKL) and
3102         Chromium build (building just FFTFrameStub.cpp) on Linux.
3103
3104         * WebCore.gyp/WebCore.gyp:
3105         * platform/audio/fftw/FFTFrameFFTW.cpp:
3106         * platform/audio/mkl/FFTFrameMKL.cpp:
3107
3108 2011-04-14  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
3109
3110         Reviewed by Antonio Gomes.
3111
3112         [Qt] Web Inspector does not highlight elements
3113         https://bugs.webkit.org/show_bug.cgi?id=35125
3114
3115         We should call drawNodeHighlight() just if a highlighted node exists
3116         to avoid do save()/restore() on the Graphics Context unnecessarily.
3117
3118         Added highlightedNode() method to check if we need to call drawNodeHighlight()
3119         and only on this case do save()/restore() on the Graphics Context.
3120
3121         * inspector/InspectorAgent.h:
3122         (WebCore::InspectorAgent::highlightedNode):
3123
3124 2011-04-14  Adrienne Walker  <enne@google.com>
3125
3126         Reviewed by James Robinson.
3127
3128         [chromium] TilingData should return 1 tile when tile size is texture size.
3129         https://bugs.webkit.org/show_bug.cgi?id=58364
3130
3131         * platform/graphics/gpu/TilingData.cpp:
3132         (WebCore::computeNumTiles):
3133
3134 2011-04-14  Andy Estes  <aestes@apple.com>
3135
3136         Reviewed by Dan Bernstein.
3137
3138         REGRESSION (r72141): Acid3 rendering is not pixel perfect.
3139         https://bugs.webkit.org/show_bug.cgi?id=55734
3140         
3141         WebCore should render text with a 0px font size at 0px regardless of
3142         minimum font size settings. This is compatible with other browsers that
3143         have a minimum font size preference and ensures pixel-perfect rendering
3144         on Acid3.
3145
3146         Test: fast/text/zero-font-size.html
3147
3148         * css/CSSStyleSelector.cpp:
3149         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): If
3150         specifiedSize is 0, return specified size regardless of zoom factor or
3151         minimum font size.
3152
3153 2011-04-14  Matthew Delaney  <mdelaney@apple.com>
3154
3155         Reviewed by Simon Fraser.
3156
3157         Have canvas drawImageFromRect just redirect to use drawImage
3158         https://bugs.webkit.org/show_bug.cgi?id=58516
3159
3160         Test: fast/canvas/drawImageFromRect_withToDataURLAsSource.html
3161
3162         * html/canvas/CanvasRenderingContext2D.cpp:
3163         (WebCore::CanvasRenderingContext2D::drawImage):
3164         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
3165         * html/canvas/CanvasRenderingContext2D.h:
3166
3167 2011-04-14  James Robinson  <jamesr@chromium.org>
3168
3169         Reviewed by Simon Fraser.
3170
3171         REGRESSION (r83820): Lots of compositing tests failing on Windows 7 Release (Tests)
3172         https://bugs.webkit.org/show_bug.cgi?id=58535
3173
3174         Change PLATFORM(MAC) guards to !PLATFORM(CHROMIUM) so they apply correctly to the windows build.
3175
3176         * rendering/RenderLayerBacking.cpp:
3177         (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
3178         (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
3179         (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
3180         * rendering/RenderLayerCompositor.cpp:
3181         (WebCore::shouldCompositeOverflowControls):
3182
3183 2011-04-14  Jian Li  <jianli@chromium.org>
3184
3185         Reviewed by Darin Fisher.
3186
3187         BlobBuilder should be vendor-prefixed
3188         https://bugs.webkit.org/show_bug.cgi?id=58518
3189
3190         Renamed BlobBuilder to WebKitBlobBuilder.
3191
3192         * Android.derived.jscbindings.mk:
3193         * Android.derived.v8bindings.mk:
3194         * CMakeLists.txt:
3195         * CodeGenerators.pri:
3196         * DerivedSources.cpp:
3197         * DerivedSources.make:
3198         * GNUmakefile.list.am:
3199         * WebCore.gypi:
3200         * WebCore.pro:
3201         * WebCore.vcproj/WebCore.vcproj:
3202         * WebCore.xcodeproj/project.pbxproj:
3203         * fileapi/WebKitBlobBuilder.cpp: Renamed from Source/WebCore/fileapi/BlobBuilder.cpp.
3204         (WebCore::WebKitBlobBuilder::WebKitBlobBuilder):
3205         (WebCore::WebKitBlobBuilder::getBuffer):
3206         (WebCore::WebKitBlobBuilder::append):
3207         (WebCore::WebKitBlobBuilder::getBlob):
3208         * fileapi/WebKitBlobBuilder.h: Renamed from Source/WebCore/fileapi/BlobBuilder.h.
3209         (WebCore::WebKitBlobBuilder::create):
3210         * fileapi/WebKitBlobBuilder.idl: Renamed from Source/WebCore/fileapi/BlobBuilder.idl.
3211         * page/DOMWindow.idl:
3212         * workers/WorkerContext.idl:
3213
3214 2011-04-14  Adam Barth  <abarth@webkit.org>
3215
3216         Remove some trailing whitespace.  I'm making this change to initialize
3217         the SVN credentials on a new commit-queue machine.  I'm sure there's a
3218         better way to do this, but I don't know it.
3219
3220         * dom/Document.cpp:
3221         (WebCore::Document::Document):
3222
3223 2011-04-14  Pratik Solanki  <psolanki@apple.com>
3224
3225         Reviewed by David Kilzer.
3226
3227         Set minimum priority for fast lane connections
3228         https://bugs.webkit.org/show_bug.cgi?id=58353
3229
3230         * WebCore.exp.in:
3231         * platform/mac/WebCoreSystemInterface.h:
3232         * platform/mac/WebCoreSystemInterface.mm:
3233         * platform/network/cf/ResourceRequestCFNet.cpp:
3234         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call
3235         wkSetHTTPPipeliningMinimumFastLanePriority to allow javascript resources to use the fast
3236         lane connections.
3237
3238 2011-04-14  Kenneth Russell  <kbr@google.com>
3239
3240         Reviewed by Dimitri Glazkov.
3241
3242         Fix Web Audio build on Linux Debug and with stub FFTFrame
3243         https://bugs.webkit.org/show_bug.cgi?id=58555
3244
3245         Built Chromium/Linux in Debug mode to test.
3246
3247         * platform/audio/FFTFrame.cpp:
3248         * platform/audio/FFTFrameStub.cpp:
3249         (WebCore::FFTFrame::initialize):
3250         * webaudio/AudioContext.cpp:
3251         * webaudio/DefaultAudioDestinationNode.cpp:
3252
3253 2011-04-14  Yury Semikhatsky  <yurys@chromium.org>
3254
3255         Reviewed by Pavel Feldman.
3256
3257         [v8] Web Inspector: add initial implementation of WorkerScriptDebugServer
3258         https://bugs.webkit.org/show_bug.cgi?id=58552
3259
3260         * bindings/v8/DebuggerScript.js:
3261         * bindings/v8/WorkerContextExecutionProxy.cpp:
3262         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): each worker context
3263         now have a debug id (similar to frame contexts).
3264         * bindings/v8/WorkerScriptDebugServer.cpp:
3265         (WebCore::retrieveWorkerContext):
3266         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
3267         (WebCore::WorkerScriptDebugServer::addListener):
3268         (WebCore::WorkerScriptDebugServer::removeListener):
3269         (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
3270         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause): run message loop until
3271         debugger command is received and execution is resumed.
3272         (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
3273         * bindings/v8/WorkerScriptDebugServer.h:
3274         * inspector/WorkerDebuggerAgent.cpp:
3275         (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
3276         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
3277
3278 2011-04-14  Jian Li  <jianli@chromium.org>
3279
3280         Reviewed by Darin Fisher.
3281
3282         Add webkit prefix to Blob.slice method and change its semantics to be
3283         like Array.slice
3284         https://bugs.webkit.org/show_bug.cgi?id=58496
3285
3286         Renamed Blob.slice to blob.webkitSlice and made it take start and end
3287         parameters that're like Array.slice.
3288
3289         Test: fast/files/blob-slice-test.html
3290
3291         * fileapi/Blob.cpp:
3292         (WebCore::Blob::webkitSlice):
3293         * fileapi/Blob.h:
3294         * fileapi/Blob.idl:
3295
3296 2011-04-14  Andreas Kling  <kling@webkit.org>
3297
3298         Reviewed by Benjamin Poulain.
3299
3300         [Qt] Height of "Ahem" font differs from all other ports.
3301         https://bugs.webkit.org/show_bug.cgi?id=57954
3302
3303         QFontMetricsF::descent() returns the actual descent minus 1,
3304         to account for the baseline. Add it back to get correct metrics
3305         for WebKit.
3306
3307         QFontMetricsF::leading() may return negative values on some
3308         platforms (those using FreeType), this breaks WebKit's assumption
3309         that lineSpacing >= (ascent + descent), so we work around this in
3310         the same fashion as SimpleFontDataFreeType and SimpleFontDataPango.
3311
3312         This is covered by thousands of layout tests.
3313
3314         * platform/graphics/qt/SimpleFontDataQt.cpp:
3315         (WebCore::SimpleFontData::platformInit):
3316
3317 2011-04-14  Kevin Ollivier  <kevino@theolliviers.com>
3318
3319         [wx] Unreviewed build fixes for wxMSW and wx 2.9.1.1.
3320
3321         * platform/graphics/wx/FontPlatformDataWx.cpp:
3322         (WebCore::FontPlatformData::FontPlatformData):
3323         * platform/wx/FileSystemWx.cpp:
3324         (WebCore::writeToFile):
3325
3326 2011-04-14  Anders Carlsson  <andersca@apple.com>
3327
3328         Fix build.
3329
3330         RuntimeApplicationChecks.h needs to be a private header so WebKit can find it.
3331
3332         * WebCore.xcodeproj/project.pbxproj:
3333
3334 2011-04-14  Pavel Podivilov  <podivilov@chromium.org>
3335
3336         Unreviewed, build fix for r83864.
3337
3338         * inspector/front-end/DOMAgent.js:
3339         (WebInspector.DOMAgent.prototype._childNodeRemoved):
3340
3341 2011-04-14  Alexander Pavlov  <apavlov@chromium.org>
3342
3343         Reviewed by Pavel Feldman.
3344
3345         Web Inspector: Content area highlight does not cover scrollbars
3346         https://bugs.webkit.org/show_bug.cgi?id=58528
3347
3348         * inspector/DOMNodeHighlighter.cpp:
3349         (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
3350
3351 2011-04-14  Pavel Podivilov  <podivilov@chromium.org>
3352
3353         Reviewed by Pavel Feldman.
3354
3355         Web Inspector: re-implement dom breakpoints.
3356         https://bugs.webkit.org/show_bug.cgi?id=57038
3357
3358         * WebCore.gypi:
3359         * WebCore.vcproj/WebCore.vcproj:
3360         * inspector/front-end/BreakpointManager.js: Removed.
3361         * inspector/front-end/BreakpointsSidebarPane.js:
3362         (WebInspector.NativeBreakpointsSidebarPane):
3363         (WebInspector.NativeBreakpointsSidebarPane.prototype._reset):
3364         (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
3365         * inspector/front-end/CallStackSidebarPane.js:
3366         (WebInspector.CallStackSidebarPane.prototype.update):
3367         (WebInspector.CallStackSidebarPane.prototype.setStatus):
3368         * inspector/front-end/DOMAgent.js:
3369         (WebInspector.DOMNode):
3370         (WebInspector.DOMAgent.prototype._childNodeRemoved):
3371         * inspector/front-end/DOMBreakpointsSidebarPane.js: Added.
3372         (WebInspector.DOMBreakpointsSidebarPane):
3373         (WebInspector.DOMBreakpointsSidebarPane.prototype.setInspectedURL):
3374         (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu.toggleBreakpoint):
3375         (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu):
3376         (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage.didPushNodeToFrontend):
3377         (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage):
3378         (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage.formatters.s):
3379         (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage.append):
3380         (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage):
3381         (WebInspector.DOMBreakpointsSidebarPane.prototype.nodeRemoved):
3382         (WebInspector.DOMBreakpointsSidebarPane.prototype._removeBreakpointsForNode):
3383         (WebInspector.DOMBreakpointsSidebarPane.prototype._setBreakpoint):
3384         (WebInspector.DOMBreakpointsSidebarPane.prototype._removeBreakpoint):
3385         (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
3386         (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu):
3387         (WebInspector.DOMBreakpointsSidebarPane.prototype._checkboxClicked):
3388         (WebInspector.DOMBreakpointsSidebarPane.prototype.highlightBreakpoint):
3389         (WebInspector.DOMBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
3390         (WebInspector.DOMBreakpointsSidebarPane.prototype._createBreakpointId):
3391         (WebInspector.DOMBreakpointsSidebarPane.prototype._saveBreakpoints):
3392         (WebInspector.DOMBreakpointsSidebarPane.prototype.restoreBreakpoints):
3393         * inspector/front-end/ElementsPanel.js:
3394         (WebInspector.ElementsPanel):
3395         (WebInspector.ElementsPanel.prototype.show):
3396         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
3397         (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes.coalesceCollapsedCrumbs):
3398         * inspector/front-end/ElementsTreeOutline.js:
3399         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
3400         * inspector/front-end/ScriptsPanel.js:
3401         (WebInspector.ScriptsPanel):
3402         (WebInspector.ScriptsPanel.prototype.show):
3403         (WebInspector.ScriptsPanel.prototype._debuggerPaused.didCreateBreakpointHitStatusMessage):
3404         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
3405         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3406         (WebInspector.ScriptsPanel.prototype._clearInterface):
3407         * inspector/front-end/Settings.js:
3408         (WebInspector.Settings):
3409         (WebInspector.Settings.prototype._set):
3410         * inspector/front-end/WebKit.qrc:
3411         * inspector/front-end/inspector.html:
3412         * inspector/front-end/inspector.js:
3413         (WebInspector.inspectedURLChanged):
3414         * inspector/front-end/utilities.js:
3415         ():
3416
3417 2011-04-14  Satish Sampath  <satish@chromium.org>
3418
3419         Reviewed by Kent Tamura.
3420
3421         Disable speech input for readonly and disabled input fields.
3422         https://bugs.webkit.org/show_bug.cgi?id=58540
3423
3424         Test: fast/speech/input-readonly-and-disabled.html
3425
3426         * html/shadow/TextControlInnerElements.cpp:
3427         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
3428         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
3429
3430 2011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
3431
3432         Unreviewed. Rollout r83849 and r83857.
3433
3434         * inspector/Inspector.json:
3435         * inspector/InspectorDatabaseAgent.cpp:
3436         (WebCore::InspectorDatabaseAgent::didOpenDatabase):
3437         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
3438         (WebCore::InspectorDatabaseAgent::setFrontend):
3439         (WebCore::InspectorDatabaseAgent::clearFrontend):
3440         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
3441         (WebCore::InspectorDatabaseAgent::executeSQL):
3442         * inspector/InspectorDatabaseAgent.h:
3443         * inspector/front-end/inspector.js:
3444
3445 2011-04-14  Dimitri Glazkov  <dglazkov@chromium.org>
3446
3447         Unreviewed, rolling out r83847.
3448         http://trac.webkit.org/changeset/83847
3449         https://bugs.webkit.org/show_bug.cgi?id=58477
3450
3451         Chromium media controls do use button borders, so this change
3452         is incorrect.
3453
3454         * css/mediaControls.css:
3455         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
3456         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
3457         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
3458         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
3459         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
3460         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
3461         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
3462         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
3463         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
3464         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
3465         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
3466
3467 2011-04-14  Andrew Wason  <rectalogic@rectalogic.com>
3468
3469         Reviewed by Andreas Kling.
3470
3471         Fix GraphicsContext3DQt.cpp compilation warnings treated as errors
3472         https://bugs.webkit.org/show_bug.cgi?id=58478
3473
3474         No new tests.
3475
3476         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3477         (WebCore::GraphicsContext3DInternal::getProcAddress):
3478          Do not use deprecated QString constructor to avoid warning.
3479         (WebCore::GraphicsContext3D::reshape):
3480          Use parenthesis to avoid warning.
3481
3482 2011-04-14  Andrey Kosyakov  <caseq@chromium.org>
3483
3484         Unreviewed. Removed ScrollableArea::paintScrollCorner() added in r83820,
3485         as it breaks chromium clang build (shadowed by RenderLayer::paintScrollCorner()
3486         with a different signature)
3487
3488         * platform/ScrollableArea.h:
3489
3490 2011-04-14  Mikhail Naganov  <mnaganov@chromium.org>
3491
3492         Reviewed by Pavel Feldman.
3493
3494         Web Inspector: [Chromium] Ready to move detailed heap snapshots storage and processing into workers.
3495         https://bugs.webkit.org/show_bug.cgi?id=58534
3496
3497         * inspector/front-end/DetailedHeapshotGridNodes.js:
3498         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent):
3499         (WebInspector.HeapSnapshotDiffNode):
3500         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
3501         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff):
3502         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
3503         (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived):
3504         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
3505         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
3506         (WebInspector.HeapSnapshotDiffNode.prototype.get data):
3507         * inspector/front-end/DetailedHeapshotView.js:
3508         (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
3509         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
3510         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
3511         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
3512         * inspector/front-end/HeapSnapshot.js:
3513         (WebInspector.HeapSnapshot):
3514         (WebInspector.HeapSnapshot.prototype.dispose):
3515         (WebInspector.HeapSnapshot.prototype.nodeFieldValuesByIndex):
3516         (WebInspector.HeapSnapshot.prototype._numbersComparator):
3517         (WebInspector.HeapSnapshot.prototype.baseSnapshotHasNode):
3518         (WebInspector.HeapSnapshot.prototype.updateBaseNodeIds):
3519         (WebInspector.HeapSnapshotsDiff):
3520         (WebInspector.HeapSnapshotsDiff.prototype.set baseIds):
3521         (WebInspector.HeapSnapshotsDiff.prototype.set baseSelfSizes):
3522         (WebInspector.HeapSnapshotsDiff.prototype.calculate):
3523         * inspector/front-end/HeapSnapshotProxy.js:
3524         (WebInspector.HeapSnapshotProxy):
3525         (WebInspector.HeapSnapshotProxy.prototype.createDiff):
3526         (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
3527         (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
3528         (WebInspector.HeapSnapshotProxy.prototype.dispose):
3529         (WebInspector.HeapSnapshotProxy.prototype.nodeFieldValuesByIndex):
3530         (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
3531         (WebInspector.HeapSnapshotsDiffProxy):
3532         (WebInspector.HeapSnapshotsDiffProxy.prototype.calculate):
3533         (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
3534         (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
3535
3536 2011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
3537
3538         Reviewed by Pavel Feldman.
3539
3540         Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
3541         https://bugs.webkit.org/show_bug.cgi?id=57833
3542
3543         * inspector/Inspector.json:
3544         * inspector/InspectorDatabaseAgent.cpp:
3545         (WebCore::InspectorDatabaseAgent::didOpenDatabase):
3546         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
3547         (WebCore::InspectorDatabaseAgent::setFrontend):
3548         (WebCore::InspectorDatabaseAgent::enable):
3549         (WebCore::InspectorDatabaseAgent::disable):
3550         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
3551         (WebCore::InspectorDatabaseAgent::executeSQL):
3552         * inspector/InspectorDatabaseAgent.h:
3553         * inspector/front-end/inspector.js:
3554
3555 2011-04-14  Alexander Pavlov  <apavlov@chromium.org>
3556
3557         Reviewed by Yury Semikhatsky.
3558
3559         Web Inspector: [Chromium] "Remove Breakpoint" menu item is absent in the DOM breakpoints sidebar pane
3560         https://bugs.webkit.org/show_bug.cgi?id=58530
3561
3562         * inspector/front-end/ElementsPanel.js:
3563
3564 2011-04-14  Alexis Menard  <alexis.menard@openbossa.org>
3565
3566         Reviewed by Dimitri Glazkov.
3567
3568         REGRESSION(r83397) [Qt] When clicking on the media elements they
3569         grow 2 pixels.
3570         https://bugs.webkit.org/show_bug.cgi?id=58477
3571
3572         Since r83397 the media controls elements are actual DOM elements.
3573         Therefore the global style-sheet applies to them. html.css defines
3574         input[type="button"]:active to be border-style: inset which means
3575         that when the buttons are active they grow by their border size.
3576
3577         * css/mediaControls.css:
3578         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
3579         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
3580         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
3581         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
3582         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
3583         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
3584         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
3585         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
3586         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
3587         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
3588         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
3589
3590 2011-04-14  Diego Gonzalez  <diegohcg@webkit.org>
3591
3592         Reviewed by Kenneth Rohde Christiansen.
3593
3594         [Qt] Improve disable style for input elements in mobile theme
3595         https://bugs.webkit.org/show_bug.cgi?id=58480
3596
3597         * platform/qt/QtMobileWebStyle.cpp:
3598         (QtMobileWebStyle::drawControl):
3599         (QtMobileWebStyle::drawPrimitive):
3600         (QtMobileWebStyle::drawComplexControl):
3601
3602 2011-04-14  Pavel Feldman  <pfeldman@google.com>
3603
3604         Reviewed by Yury Semikhatsky.
3605
3606         Web Inspector: restore previous selection in Resources panel upon front-end reopen.
3607         https://bugs.webkit.org/show_bug.cgi?id=58533
3608
3609         * inspector/front-end/ResourceTreeModel.js:
3610         (WebInspector.ResourceTreeModel.prototype._processCachedResources):
3611         * inspector/front-end/ResourcesPanel.js:
3612         (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
3613         (WebInspector.ResourcesPanel.prototype._populateResourceTree):
3614         (WebInspector.ResourcesPanel.prototype._cachedResourcesLoaded):
3615         * inspector/front-end/inspector.css:
3616         (#close-button-left, #close-button-right):
3617
3618 2011-04-14  Pavel Feldman  <pfeldman@google.com>
3619
3620         Reviewed by Yury Semikhatsky.
3621
3622         Web Inspector: implement incremental CSS free flow editing.
3623         https://bugs.webkit.org/show_bug.cgi?id=58529
3624
3625         * inspector/front-end/CSSStyleModel.js:
3626         (WebInspector.CSSStyleSheet.prototype.setText):
3627         * inspector/front-end/Resource.js:
3628         (WebInspector.Resource.prototype.isResourceRevision):
3629         (WebInspector.Resource.prototype.setContent):
3630         * inspector/front-end/ResourceView.js:
3631         (WebInspector.CSSSourceFrame.prototype.isContentEditable):
3632         (WebInspector.CSSSourceFrame.prototype.editContent):
3633         (WebInspector.CSSSourceFrame.prototype.endEditing.commitIncrementalEdit):
3634         (WebInspector.CSSSourceFrame.prototype.endEditing):
3635         * inspector/front-end/SourceFrame.js:
3636         (WebInspector.SourceFrame.prototype.commitEditing):
3637         (WebInspector.SourceFrame.prototype.editContent):
3638
3639 2011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
3640
3641         Reviewed by Pavel Feldman.
3642
3643         Web Inspector:Duplicated display of storage db when running Web SQL from an iframe.
3644         https://bugs.webkit.org/show_bug.cgi?id=57830
3645
3646         There was created a new InspectorDatabaseResource entry for every didOpenDatabase event.
3647         Moreover there is new WebCore::Database for each didOpenDatabase event.
3648         I decided to change the old instance of the Database to a new one if they both use the same file.
3649
3650         * inspector/InspectorDatabaseAgent.cpp:
3651         (WebCore::InspectorDatabaseAgent::didOpenDatabase):
3652         (WebCore::InspectorDatabaseAgent::findByFileName):
3653         * inspector/InspectorDatabaseAgent.h:
3654         * inspector/InspectorDatabaseResource.h:
3655         (WebCore::InspectorDatabaseResource::setDatabase):
3656
3657 2011-04-14  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
3658
3659         Reviewed by Dirk Schulze.
3660
3661         svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg crashes in Debug build
3662         https://bugs.webkit.org/show_bug.cgi?id=58525
3663
3664         A renderer is created even for those filter primitives
3665         which parent is not a filter. A rendererIsNeeded() is
3666         added to SVGFilterPrimitiveStandardAttributes.
3667
3668         Test: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg
3669
3670         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3671         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
3672         * svg/SVGFilterPrimitiveStandardAttributes.h:
3673
3674 2011-04-14  Alexis Menard  <alexis.menard@openbossa.org>
3675
3676         Reviewed by Andreas Kling.
3677
3678         REGRESSION(r83397) [Qt] When the video is loading and the poster is shown
3679         all the controls are not visible except the play button.
3680         https://bugs.webkit.org/show_bug.cgi?id=58484
3681
3682         r83397 introduces a new API hasOwnDisabledStateHandlingFor to handle when
3683         the controls should be disabled. Qt port paints its own controls, we don't want
3684         the default implementation to handle the hidden/disable state for us.
3685
3686         Existing tests covers the visibility of the controls.
3687
3688         * platform/qt/RenderThemeQt.h:
3689         (WebCore::RenderThemeQt::hasOwnDisabledStateHandlingFor):
3690
3691 2011-04-14  Andreas Kling  <andreas.kling@nokia.com>
3692
3693         Reviewed by Kenneth Rohde Christiansen.
3694
3695         [Qt] Disabled form controls don't actually look disabled.
3696         https://bugs.webkit.org/show_bug.cgi?id=58490
3697
3698         Unsetting QStyle::State_Enabled is not enough to get the "disabled" appearance
3699         when painting controls. We must also set the QStyleOption's palette's current
3700         color group.
3701
3702         * platform/qt/RenderThemeQt.cpp:
3703         (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
3704
3705 2011-04-14  Nancy Piedra  <nancy.piedra@nokia.com>
3706
3707         Reviewed by Benjamin Poulain.
3708
3709         [Qt] MediaPlayerPrivateQt::supportsType does not parse codec parameter
3710         https://bugs.webkit.org/show_bug.cgi?id=58188
3711
3712         The codec parameter in MediaPlayerPrivateQt::supportsType was not parsed into
3713         a QStringList. This change parses and trims the list.
3714
3715         An additional test was added to video-can-play-type.html to test parsing of codec parameter.
3716
3717         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3718         (WebCore::MediaPlayerPrivateQt::supportsType):
3719
3720 2011-04-14  Zoltan Herczeg  <zherczeg@webkit.org>
3721
3722         Reviewed by Nikolas Zimmermann.
3723
3724         Optimizing lightning filter to ARM-NEON SIMD instruction set
3725         https://bugs.webkit.org/show_bug.cgi?id=54456
3726
3727         NEON is the SIMD instruction set for ARM. This instruction set
3728         allows to speed-up the lighting filter by 4 times on ARM
3729         (on WebCore/manual-tests/svg-filter-animation.svg).
3730
3731         * WebCore.pri:
3732         * WebCore.pro:
3733         * platform/graphics/filters/FELighting.cpp:
3734         (WebCore::FELighting::drawLighting):
3735         (WebCore::getPowerCoefficients):
3736         (WebCore::FELighting::drawInteriorPixels):
3737         * platform/graphics/filters/FELighting.h:
3738         * platform/graphics/filters/arm/FELightingNEON.cpp: Added.
3739         (__attribute__):
3740         * platform/graphics/filters/arm/FELightingNEON.h: Added.
3741
3742 2011-04-14  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
3743
3744         Reviewed by Benjamin Poulain.
3745
3746         [Qt] GraphicsContext3D internal buffers are not freed
3747         https://bugs.webkit.org/show_bug.cgi?id=57530
3748
3749         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3750         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
3751
3752 2011-04-14  Andy Estes  <aestes@apple.com>
3753
3754         Reviewed by Maciej Stachowiak.
3755
3756         REGRESSION (r75555): Safari RSS sidebar jiggles when scrolling
3757         https://bugs.webkit.org/show_bug.cgi?id=52988
3758         
3759         Safari RSS relies on synchronous dispatch of ScrollEvent to update the
3760         position of its sidebar during scrolling without producing a jiggling
3761         effect. Due to r75555, this event is no longer dispatched synchronously
3762         which results in stale repaints before the onscroll handler gets a
3763         chance to update the position of the sidebar.
3764         
3765         Since it is impractical to resolve this issue in Safari RSS itself, add
3766         a quirk that restores synchronous ScrollEvent dispatch for Safari RSS.
3767         
3768         No tests. This is an app-specific change that doesn't affect web
3769         content.
3770
3771         * Android.mk: Add platform/RuntimeApplicationChecks.[cpp|h]
3772         * CMakeLists.txt: Ditto.
3773         * GNUmakefile.list.am: Ditto.
3774         * WebCore.gypi: Ditto.
3775         * WebCore.pro: Ditto.
3776         * WebCore.vcproj/WebCore.vcproj: Ditto.
3777         * WebCore.xcodeproj/project.pbxproj: Ditto.
3778         * dom/EventQueue.cpp:
3779         (WebCore::shouldDispatchScrollEventSynchronously): Send ScrollEvent
3780         synchronously if the embedding application is Safari and the document's
3781         URL scheme is "feed" or "feeds".
3782         (WebCore::EventQueue::enqueueOrDispatchScrollEvent): Dispatch
3783         ScrollEvent synchronously if shouldDispatchScrollEventSynchronously()
3784         returns true.
3785         * dom/EventQueue.h:
3786         * page/EventHandler.cpp:
3787         (WebCore::EventHandler::sendScrollEvent): Call enqueueOrDispatchScrollEvent().
3788         * platform/RuntimeApplicationChecks.cpp: Added.
3789         (WebCore::mainBundleIsEqualTo): Add a helper routine for CF platforms
3790         that checks if the main bundle's identifier is equal to a given string.
3791         This function returns false for non-CF platforms.
3792         (WebCore::applicationIsSafari): Call mainBundleIsEqualTo().
3793         (WebCore::applicationIsAppleMail): Ditto.
3794         (WebCore::applicationIsMicrosoftMessenger): Ditto.
3795         (WebCore::applicationIsAdobeInstaller): Ditto.
3796         (WebCore::applicationIsAOLInstantMessenger): Ditto.
3797         (WebCore::applicationIsMicrosoftMyDay): Ditto.
3798         (WebCore::applicationIsMicrosoftOutlook): Ditto.
3799         * platform/mac/RuntimeApplicationChecks.mm: Removed. Functions moved to
3800         RuntimeApplicationChecks.cpp.
3801         * rendering/RenderLayer.cpp:
3802         (WebCore::RenderLayer::scrollTo): Call enqueueOrDispatchScrollEvent().
3803         * rendering/RenderListBox.cpp:
3804         (WebCore::RenderListBox::scrollTo): Call enqueueOrDispatchScrollEvent().
3805
3806 2011-04-14  John Bates  <jbates@google.com>
3807
3808         Reviewed by Kenneth Russell.
3809
3810         Fix bug with adding wrong context to LayerRendererChromium and get rid of RefPtr loop.
3811         https://bugs.webkit.org/show_bug.cgi?id=58383
3812
3813         * platform/graphics/chromium/LayerRendererChromium.cpp:
3814         (WebCore::LayerRendererChromium::addChildContext):
3815         (WebCore::LayerRendererChromium::removeChildContext):
3816         * platform/graphics/chromium/LayerRendererChromium.h:
3817
3818 2011-04-14  Renata Hodovan  <reni@webkit.org>
3819
3820         Reviewed by Nikolas Zimmermann.
3821
3822         CSS related SVG*Element changes doesn't require relayout
3823         https://bugs.webkit.org/show_bug.cgi?id=56906
3824
3825         The changes of some CSS related SVGFilter properties e.g. lighting_color, flood_color, flood_opacity
3826         need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange()
3827         we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties
3828         via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes.
3829
3830         Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html
3831                svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html
3832                svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html
3833                svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html
3834
3835         * platform/graphics/filters/FEFlood.cpp:
3836         (WebCore::FEFlood::setFloodColor):
3837         (WebCore::FEFlood::setFloodOpacity):
3838         * platform/graphics/filters/FEFlood.h:
3839         * platform/graphics/filters/FESpecularLighting.cpp:
3840         (WebCore::FESpecularLighting::setLightingColor):
3841         * platform/graphics/filters/FESpecularLighting.h:
3842         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
3843         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
3844         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
3845         * rendering/svg/SVGResourcesCache.cpp:
3846         (WebCore::SVGResourcesCache::clientStyleChanged):
3847         * svg/SVGFEDiffuseLightingElement.cpp:
3848         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3849         * svg/SVGFEFloodElement.cpp:
3850         (WebCore::SVGFEFloodElement::setFilterEffectAttribute):
3851         * svg/SVGFEFloodElement.h:
3852         * svg/SVGFESpecularLightingElement.cpp:
3853         (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
3854
3855 2011-04-13  James Robinson  <jamesr@chromium.org>
3856
3857         Reviewed by Simon Fraser.
3858
3859         Allow setting composited backing stores for scrollbars and scroll corners
3860         https://bugs.webkit.org/show_bug.cgi?id=57202
3861
3862         This teaches ScrollableArea to manage GraphicsLayer backings for the two scrollbars and
3863         scroll corner. ScrollableArea can position the layers and route invalidation and paint calls to
3864         the correct place but depends on subclasses to manage the lifetime of the GraphicsLayers and
3865         place them into the correct place in the hierarchy.
3866
3867         FrameView and RenderLayerCompositor updated to provide layers for frames with overflow controls.
3868         that need them.  The overflow control layers are siblings of the frame's clip layer.
3869
3870         RenderLayer and RenderLayerBacking updated to provide overflow control layers for layers that
3871         need them.  Currently, layers are only created for overflow controls on layers that are already composited
3872         for other reasons and not necessarily for every RenderLayer with overflow.  Overflow control layers are siblings
3873         of the RenderLayerBacking's clipping layer if it exists, otherwise they are siblings of the layer's normal
3874         children.
3875
3876         Tested by a number of compositing/ tests that have scrollbars and by these new tests:
3877                compositing/iframes/repaint-after-losing-scrollbars.html
3878                compositing/overflow/clip-content-under-overflow-controls.html
3879                compositing/overflow/content-gains-scrollbars.html
3880                compositing/overflow/content-loses-scrollbars.html
3881                compositing/overflow/overflow-scrollbar-layers.html
3882                compositing/overflow/repaint-after-losing-scrollbars.html
3883
3884         * css/CSSStyleSelector.cpp:
3885         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
3886         * page/FrameView.cpp:
3887         (WebCore::FrameView::layerForHorizontalScrollbar):
3888         (WebCore::FrameView::layerForVerticalScrollbar):
3889         (WebCore::FrameView::layerForScrollCorner):
3890         (WebCore::FrameView::syncCompositingStateForThisFrame):
3891         (WebCore::FrameView::contentsResized):
3892         (WebCore::FrameView::updateScrollCorner):
3893         * page/FrameView.h:
3894         * platform/ScrollView.cpp:
3895         (WebCore::ScrollView::wheelEvent):
3896         * platform/ScrollView.h:
3897         * platform/ScrollableArea.cpp:
3898         (WebCore::ScrollableArea::invalidateScrollbar):
3899         (WebCore::ScrollableArea::invalidateScrollCorner):
3900         * platform/ScrollableArea.h:
3901         (WebCore::ScrollableArea::paintScrollCorner):
3902         (WebCore::ScrollableArea::layerForHorizontalScrollbar):
3903         (WebCore::ScrollableArea::layerForVerticalScrollbar):
3904         (WebCore::ScrollableArea::layerForScrollCorner):
3905         * platform/Scrollbar.cpp:
3906         (WebCore::Scrollbar::invalidateRect):
3907         * platform/Scrollbar.h:
3908         * platform/ScrollbarThemeComposite.cpp:
3909         (WebCore::ScrollbarThemeComposite::paint):
3910         * platform/graphics/chromium/ContentLayerChromium.cpp:
3911         (WebCore::ContentLayerChromium::paintContentsIfDirty):
3912         * platform/graphics/chromium/LayerRendererChromium.cpp:
3913         (WebCore::LayerRendererChromium::create):
3914         (WebCore::LayerRendererChromium::LayerRendererChromium):
3915         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
3916         (WebCore::LayerRendererChromium::drawRootLayer):
3917         (WebCore::LayerRendererChromium::setViewport):
3918         (WebCore::LayerRendererChromium::updateAndDrawLayers):
3919         (WebCore::LayerRendererChromium::updateLayers):
3920         (WebCore::LayerRendererChromium::setRootLayer):
3921         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3922         * platform/graphics/chromium/LayerRendererChromium.h:
3923         * platform/mac/ScrollAnimatorMac.mm:
3924         (-[ScrollbarPartAnimation setCurrentProgress:]):
3925         * platform/win/PopupMenuWin.h:
3926         (WebCore::PopupMenuWin::invalidateScrollCornerRect):
3927         (WebCore::PopupMenuWin::isScrollCornerVisible):
3928         (WebCore::PopupMenuWin::scrollCornerRect):
3929         * rendering/RenderLayer.cpp:
3930         (WebCore::RenderLayer::scrollCornerRect):
3931         (WebCore::RenderLayer::scrollCornerAndResizerRect):
3932         (WebCore::RenderLayer::isScrollCornerVisible):
3933         (WebCore::RenderLayer::invalidateScrollbarRect):
3934         (WebCore::RenderLayer::invalidateScrollCornerRect):
3935         (WebCore::RenderLayer::positionOverflowControls):
3936         (WebCore::RenderLayer::paintOverflowControls):
3937         (WebCore::RenderLayer::paintScrollCorner):
3938         (WebCore::RenderLayer::layerForHorizontalScrollbar):
3939         (WebCore::RenderLayer::layerForVerticalScrollbar):
3940         (WebCore::RenderLayer::layerForScrollCorner):
3941         * rendering/RenderLayer.h:
3942         (WebCore::RenderLayer::horizontalScrollbar):
3943         (WebCore::RenderLayer::verticalScrollbar):
3944         * rendering/RenderLayerBacking.cpp:
3945         (WebCore::RenderLayerBacking::~RenderLayerBacking):
3946         (WebCore::RenderLayerBacking::updateAfterWidgetResize):
3947         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3948         (WebCore::RenderLayerBacking::updateInternalHierarchy):
3949         (WebCore::RenderLayerBacking::updateClippingLayers):
3950         (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
3951         (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
3952         (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
3953         (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
3954         (WebCore::paintScrollbar):
3955         (WebCore::RenderLayerBacking::paintContents):
3956         * rendering/RenderLayerBacking.h:
3957         (WebCore::RenderLayerBacking::layerForHorizontalScrollbar):
3958         (WebCore::RenderLayerBacking::layerForVerticalScrollbar):
3959         (WebCore::RenderLayerBacking::layerForScrollCorner):
3960         * rendering/RenderLayerCompositor.cpp:
3961         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3962         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3963         (WebCore::RenderLayerCompositor::frameViewDidChangeLocation):
3964         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
3965         (WebCore::RenderLayerCompositor::rootPlatformLayer):
3966         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
3967         (WebCore::paintScrollbar):
3968         (WebCore::RenderLayerCompositor::paintContents):
3969         (WebCore::shouldCompositeOverflowControls):
3970         (WebCore::RenderLayerCompositor::requiresHorizontalScrollbarLayer):
3971         (WebCore::RenderLayerCompositor::requiresVerticalScrollbarLayer):
3972         (WebCore::RenderLayerCompositor::requiresScrollCornerLayer):
3973         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
3974         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
3975         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
3976         (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
3977         * rendering/RenderLayerCompositor.h:
3978         (WebCore::RenderLayerCompositor::layerForHorizontalScrollbar):
3979         (WebCore::RenderLayerCompositor::layerForVerticalScrollbar):
3980         (WebCore::RenderLayerCompositor::layerForScrollCorner):
3981         * rendering/RenderListBox.h:
3982         (WebCore::RenderListBox::isScrollCornerVisible):
3983         (WebCore::RenderListBox::scrollCornerRect):
3984         (WebCore::RenderListBox::invalidateScrollCornerRect):
3985
3986 2011-04-13  Cary Clark  <caryclark@chromium.org>
3987  
3988          Reviewed by Eric Seidel.
3989           
3990          [Chromium] allow concurrent Skia and CG datatypes
3991          https://bugs.webkit.org/show_bug.cgi?id=57848
3992
3993          The Chromium port is experimenting with running Skia as the WebKit rendering engine, and CoreGraphics
3994          as the UI rendering engine. This permits Chromium to unify its graphics story while leveraging OS X to
3995          draw elements like scrollbars and buttons.
3996  
3997          Restructure the common graphics units, points, and rectangles, to convert to Sk-types and CG-types at
3998          the same time. This requires only adding to the existing preprocessor commands, and will have no effect
3999          on any existing platform.
4000          
4001          Eventually, WTF_USE_SKIA_ON_MAC_CHROME will be defined to enable this, but for now, there's no
4002          functional change.
4003  
4004          No new tests as this provides no new functionality.
4005  
4006          * platform/graphics/FloatPoint.h: Add USE(SKIA_ON_MAC_CHROME) to make CG type and operators visible
4007          to a Skia-based Chrome Mac build.
4008          * platform/graphics/FloatRect.h: Ditto.
4009          * platform/graphics/FloatSize.h: Ditto.
4010          * platform/graphics/IntPoint.h: Ditto.
4011          * platform/graphics/IntRect.h: Ditto.
4012          * platform/graphics/IntSize.h: Ditto.
4013          * platform/graphics/cg/FloatPointCG.cpp: Ditto.
4014          * platform/graphics/cg/FloatRectCG.cpp: Ditto.
4015          * platform/graphics/cg/FloatSizeCG.cpp: Ditto.
4016          * platform/graphics/cg/IntPointCG.cpp: Ditto.
4017          * platform/graphics/cg/IntRectCG.cpp: Ditto.
4018          * platform/graphics/cg/IntSizeCG.cpp: Ditto.
4019  
4020 2011-04-13  Roland Steiner  <rolandsteiner@chromium.org>
4021
4022         Reviewed by Dimitri Glazkov.
4023
4024         Bug 58460 - childTypeAllowed() should be const
4025         https://bugs.webkit.org/show_bug.cgi?id=58460
4026
4027         Made childTypeAllowed const.
4028
4029         No new tests. (minor refactoring).
4030
4031         * dom/Attr.cpp:
4032         (WebCore::Attr::childTypeAllowed):
4033         * dom/Attr.h:
4034         * dom/CDATASection.cpp:
4035         (WebCore::CDATASection::childTypeAllowed):
4036         * dom/CDATASection.h:
4037         * dom/Comment.cpp:
4038         (WebCore::Comment::childTypeAllowed):
4039         * dom/Comment.h:
4040         * dom/Document.cpp:
4041         (WebCore::Document::childTypeAllowed):
4042         * dom/Document.h:
4043         * dom/DocumentFragment.cpp:
4044         (WebCore::DocumentFragment::childTypeAllowed):
4045         * dom/DocumentFragment.h:
4046         * dom/Element.cpp:
4047         (WebCore::Element::childTypeAllowed):
4048         * dom/Element.h:
4049         * dom/Node.h:
4050         (WebCore::Node::childTypeAllowed):
4051         * dom/Notation.cpp:
4052         (WebCore::Notation::childTypeAllowed):
4053         * dom/Notation.h:
4054         * dom/ProcessingInstruction.cpp:
4055 &n