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