b8afea44b28595842c19d4fec8c6a6604f469ff2
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-04-09  Gavin Barraclough  <barraclough@apple.com>
2
3         Reviewed by Sam Weinig.
4
5         Bug 58198 - Clean up JSValue implementation for JSVALUE64
6
7         JSNumberCell.h has been deprecated.
8
9         * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
10         * bindings/scripts/CodeGeneratorJS.pm:
11         * bridge/c/c_instance.cpp:
12
13 2011-04-11  Dan Bernstein  <mitz@apple.com>
14
15         Build fix.
16
17         * html/canvas/CanvasRenderingContext2D.cpp:
18         (WebCore::CanvasRenderingContext2D::State::State):
19
20 2011-04-11  Antti Koivisto  <antti@apple.com>
21
22         Reviewed by Tony Gentilcore.
23
24         Document source preload scanned repeatedly
25         https://bugs.webkit.org/show_bug.cgi?id=58123
26         
27         Don't clear the preload scanner after execution resumes. This would lose the current
28         scanning point and lead to rescanning when the preload scanner would get reconstructed
29         due to main parser blocking again.
30
31         Instead clear the scanner only in the specific case of receiving new data while the main
32         parser has already reached the end of the current input.
33
34         Also switched to using isWaitingForScripts() instead of m_treeBuilder->isPaused() for consistency.
35
36         The case the clearing in resumeParsingAfterScriptExecution() was added for is covered by 
37         http/tests/loading/preload-slow-loading.php.
38
39         * html/parser/HTMLDocumentParser.cpp:
40         (WebCore::HTMLDocumentParser::insert):
41         (WebCore::HTMLDocumentParser::append):
42         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
43
44 2011-04-11  Dan Bernstein  <mitz@apple.com>
45
46         Build fix.
47
48         * html/canvas/CanvasRenderingContext2D.cpp:
49         (WebCore::CanvasRenderingContext2D::State::State):
50
51 2011-04-11  Dan Bernstein  <mitz@apple.com>
52
53         Reviewed by Alexey Proskuryakov.
54
55         Assertion failure in CanvasRenderingContext2D::State::fontsNeedUpdate when invalidating the font cache after opening canvas/philip/tests/initial.reset.2dstate.html (occurs on Qt debug test bot)
56         https://bugs.webkit.org/show_bug.cgi?id=58229
57
58         * html/canvas/CanvasRenderingContext2D.cpp:
59         (WebCore::CanvasRenderingContext2D::State::State): Added copy constructor, to register the copy with
60         the font selector if needed.
61         (WebCore::CanvasRenderingContext2D::State::operator=): Added assignment constructor, to handle
62         registration with the font selector as needed.
63         * html/canvas/CanvasRenderingContext2D.h:
64
65 2011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
66
67         Reviewed by Chris Fleizach.
68
69         [GTK] ARIA tables not exposing cells as HTML tables do
70         https://bugs.webkit.org/show_bug.cgi?id=57463
71
72         Expose cells for ARIA grids consistently with HTML tables in GTK,
73         keeping the same behaviour for the other platforms.
74
75         * accessibility/AccessibilityARIAGrid.cpp:
76         (WebCore::AccessibilityARIAGrid::addChild): Add the row's children
77         to the accessibility hierarchy when accessibility objects for rows
78         are ignoring accessibility, otherwise add the row.
79         (WebCore::AccessibilityARIAGrid::addChildren): Do not check at
80         this point whether every child of the table ignores or not
81         accessibility, letting addChild() make the proper decision later.
82
83         * accessibility/AccessibilityARIAGridCell.cpp:
84         (WebCore::AccessibilityARIAGridCell::parentTable): Consider that
85         rows could be ignoring accessibility, hence the parent could be
86         retrieved in the first call to parentObjectUnignored().
87         (WebCore::AccessibilityARIAGridCell::rowIndexRange): Ditto.
88         (WebCore::AccessibilityARIAGridCell::columnIndexRange): Ditto..
89
90         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
91         (atkRole): Map ColumnHeader and RowHeader to ATK_ROLE_TABLE_CELL.
92
93 2011-04-11  Sergio Villar Senin  <svillar@igalia.com>
94
95         Reviewed by Martin Robinson.
96
97         [GTK] Fix make distcheck
98         https://bugs.webkit.org/show_bug.cgi?id=58224
99
100         Removed a file that is no longer in the source tree.
101
102         * GNUmakefile.list.am:
103
104 2011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
105
106         Reviewed by Martin Robinson.
107
108         REGRESSION(r83397): Most GTK media controls are hidden when no valid source is specified
109         https://bugs.webkit.org/show_bug.cgi?id=58204
110
111         Covered by existing tests.
112
113         * platform/gtk/RenderThemeGtk.h:
114         (WebCore::RenderThemeGtk::hasOwnDisabledStateHandlingFor): Let GTK handle
115             the the state of media controls.
116
117 2011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
118
119         Remove obsolete comment, which was mistakenly landed in r83397.
120
121         Though potentially a work of art, the comment lost its functional meaning a long time ago.
122
123         * html/shadow/MediaControls.cpp:
124         (WebCore::MediaControls::create): Removed comment.
125
126 2011-04-05  Hans Wennborg  <hans@chromium.org>
127
128         Reviewed by Steve Block.
129
130         IndexedDB: Introduce skeleton for LevelDB backend
131         https://bugs.webkit.org/show_bug.cgi?id=57827
132
133         No new tests: no new functionality (yet).
134
135         * WebCore.gyp/WebCore.gyp:
136             Add dependency on leveldb when ENABLE_LEVELDB=1 in feature_defines.
137         * WebCore.gypi:
138             Add new files.
139         * storage/IDBBackingStore.h:
140         (WebCore::IDBBackingStore::ObjectStoreRecordIdentifier::~ObjectStoreRecordIdentifier):
141             Introduce abstract type ObjectStoreRecordIdentifier. The SQLite
142             backend uses integers to refer to a specific row in a table, but
143             the LevelDB backend will use something else.
144         * storage/IDBDatabaseBackendImpl.cpp:
145         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
146         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
147         (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
148         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
149             Change functions to pass along the database id for operations that
150             concern object stores. We want to be able to group object stores
151             ids per database.
152         * storage/IDBFactoryBackendImpl.cpp:
153         (WebCore::IDBFactoryBackendImpl::open):
154             Decide which backend to use based on the backingStoreType
155             parameter.
156         * storage/IDBIndexBackendImpl.cpp:
157         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
158         (WebCore::IDBIndexBackendImpl::openCursorInternal):
159         (WebCore::IDBIndexBackendImpl::getInternal):
160         (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
161         * storage/IDBIndexBackendImpl.h:
162         (WebCore::IDBIndexBackendImpl::create):
163             Pass database and object store id to backend functions concerning
164             indexes.
165         * storage/IDBLevelDBBackingStore.cpp: Added.
166         (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
167         (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
168         (WebCore::IDBLevelDBBackingStore::open):
169         (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
170         (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
171         (WebCore::IDBLevelDBBackingStore::getObjectStores):
172         (WebCore::IDBLevelDBBackingStore::createObjectStore):
173         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
174         (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
175         (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
176         (WebCore::IDBLevelDBBackingStore::clearObjectStore):
177         (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
178         (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
179         (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
180         (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
181         (WebCore::IDBLevelDBBackingStore::getIndexes):
182         (WebCore::IDBLevelDBBackingStore::createIndex):
183         (WebCore::IDBLevelDBBackingStore::deleteIndex):
184         (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
185         (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
186         (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
187         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
188         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
189         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
190         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
191         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
192         (WebCore::IDBLevelDBBackingStore::createTransaction):
193         * storage/IDBLevelDBBackingStore.h: Added.
194             Add an empty implementation of the LevelDB backend.
195         * storage/IDBObjectStoreBackendImpl.cpp:
196             Keep track of database id, use the new RecordIdentifier.
197         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
198         (WebCore::IDBObjectStoreBackendImpl::getInternal):
199         (WebCore::IDBObjectStoreBackendImpl::putInternal):
200         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
201         (WebCore::IDBObjectStoreBackendImpl::clearInternal):
202         (WebCore::populateIndex):
203         (WebCore::IDBObjectStoreBackendImpl::createIndex):
204         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
205         (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
206         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
207         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
208         (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
209         * storage/IDBObjectStoreBackendImpl.h:
210         (WebCore::IDBObjectStoreBackendImpl::create):
211         (WebCore::IDBObjectStoreBackendImpl::databaseId):
212         * storage/IDBSQLiteBackingStore.cpp:
213         (WebCore::IDBSQLiteBackingStore::open):
214         (WebCore::IDBSQLiteBackingStore::createObjectStore):
215         (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
216         (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
217         (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
218         (WebCore::IDBSQLiteBackingStore::clearObjectStore):
219         (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
220         (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
221         (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
222         (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
223         (WebCore::IDBSQLiteBackingStore::getIndexes):
224         (WebCore::IDBSQLiteBackingStore::createIndex):
225         (WebCore::IDBSQLiteBackingStore::deleteIndex):
226         (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
227         (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
228         (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
229         (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
230         (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
231         (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
232         (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
233         (WebCore::IDBSQLiteBackingStore::openIndexCursor):
234         * storage/IDBSQLiteBackingStore.h:
235
236 2011-04-11  Alexander Pavlov  <apavlov@chromium.org>
237
238         Reviewed by Yury Semikhatsky.
239
240         Web Inspector: Duplicate CSS properties are reported for non-lowercase property names in the Styles sidebar
241         https://bugs.webkit.org/show_bug.cgi?id=58226
242
243         * inspector/InspectorStyleSheet.cpp:
244         (WebCore::InspectorStyle::populateAllProperties):
245
246 2011-04-07  Pavel Podivilov  <podivilov@chromium.org>
247
248         Reviewed by Pavel Feldman.
249
250         Web Inspector: get rid of source frame delegates for resources panel.
251         https://bugs.webkit.org/show_bug.cgi?id=58041
252
253         Use TextViewer configured with a domain-specific delegate to show/edit resource contents in resources panel.
254
255         * inspector/front-end/ResourceView.js:
256         (WebInspector.ResourceView.createResourceView):
257         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
258         (WebInspector.ResourceSourceFrame):
259         (WebInspector.ResourceSourceFrame.prototype.get resource):
260         (WebInspector.ResourceSourceFrame.prototype.contentEditable):
261         (WebInspector.ResourceSourceFrame.prototype._requestContent):
262         (WebInspector.CSSSourceFrame):
263         (WebInspector.CSSSourceFrame.prototype.contentEditable):
264         (WebInspector.CSSSourceFrame.prototype._editContent):
265         (WebInspector.CSSSourceFrame.prototype._editContent.handleInfos):
266         (WebInspector.CSSSourceFrame.prototype._saveStyleSheet):
267         * inspector/front-end/SourceFrame.js:
268         (WebInspector.SourceFrame.prototype._ensureContentLoaded):
269         (WebInspector.SourceFrame.prototype._requestContent):
270         (WebInspector.SourceFrame.prototype._handleSave):
271         (WebInspector.SourceFrame.prototype._editContent):
272
273 2011-04-11  Alexis Menard  <alexis.menard@openbossa.org>
274
275         Reviewed by Andreas Kling.
276
277         [Qt] Regression : r83051 Oxygen's lineedits are not rendered properly
278         https://bugs.webkit.org/show_bug.cgi?id=58076
279
280         State_Sunken is more generic than pressed. It is used by items such as frames or
281         line edits because they are "sunken" frames (e.g. QLineEdit). It can be required
282         by some style like Oxygen. Therefore only in the mobile theme we check if the object
283         is pressed.
284
285         * platform/qt/RenderThemeQt.cpp:
286         (WebCore::RenderThemeQt::paintTextField):
287
288 2011-04-11  Pavel Feldman  <pfeldman@chromium.org>
289
290         Reviewed by Yury Semikhatsky.
291
292         Web Inspector: add support for optional output parameters.
293         https://bugs.webkit.org/show_bug.cgi?id=58207
294
295         Output parameters such as "redirectResponse" are optional, but
296         do not allow specifying them as such.
297
298         * inspector/CodeGeneratorInspector.pm:
299         * inspector/Inspector.json:
300         * inspector/InspectorResourceAgent.cpp:
301         (WebCore::buildObjectForResourceResponse):
302         (WebCore::buildObjectForCachedResource):
303         * inspector/front-end/NetworkManager.js:
304         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
305         * inspector/generate-inspector-idl:
306
307 2011-04-11  Pavel Feldman  <pfeldman@chromium.org>
308
309         Reviewed by Yury Semikhatsky.
310
311         Web Inspector: refactor / document call frames in debugger domain.
312         https://bugs.webkit.org/show_bug.cgi?id=58187
313
314         Note that we are not special casing with(element) and with(document) anymore
315         and do not tell user that it is "Event target" and "Event document". Strictly speaking,
316         we should not have done it for with(element) not necessarily being related to an event.
317
318         * English.lproj/localizedStrings.js:
319         * inspector/InjectedScriptSource.js:
320         * inspector/Inspector.json:
321         * inspector/front-end/ScopeChainSidebarPane.js:
322         (WebInspector.ScopeChainSidebarPane.prototype.update):
323
324 2011-04-10  ChangSeok Oh  <shivamidow@gmail.com>
325
326         Reviewed by Eric Seidel.
327
328         Make correspondence of file name related with event to other port.
329         https://bugs.webkit.org/show_bug.cgi?id=57416
330
331         Some file names are changed to make correspondence naming rule.
332         Keyboard, mouse and wheel event file names for GTK port have been different from other ports.
333         This has made user hard to find a specific file related with event for GTK port. 
334
335         No test required. This patch just changes some file names.
336
337         * GNUmakefile.list.am:
338         * platform/gtk/KeyEventGtk.cpp: Removed.
339         * platform/gtk/MouseEventGtk.cpp: Removed.
340         * platform/gtk/PlatformKeyboardEventGtk.cpp: Added.
341         * platform/gtk/PlatformMouseEventGtk.cpp: Added.
342         * platform/gtk/PlatformWheelEventGtk.cpp: Added.
343         * platform/gtk/WheelEventGtk.cpp: Removed.
344
345 2011-04-10  Simon Fraser  <simon.fraser@apple.com>
346
347         Revert the FloatRect.cpp part of r83422, since
348         clampToInteger() is broken for some inputs. I filed
349         https://bugs.webkit.org/show_bug.cgi?id=58216
350
351         * platform/graphics/FloatRect.cpp:
352         (WebCore::safeFloatToInt):
353         (WebCore::enclosingIntRect):
354
355 2011-04-10  Simon Fraser  <simon.fraser@apple.com>
356
357         Reviewed by Maciej Stachowiak.
358
359         Car model dropdowns at audiusa.com lay out incorrectly with compositing enabled
360         https://bugs.webkit.org/show_bug.cgi?id=56660
361         
362         When overflow on an element changes, we need to inform compositing
363         layers which create and position an "ancestor clipping" layer based
364         on that overflow. Do this by triggering a rebuild of compositing layers
365         when overflow changes on a layer whose stacking context has compositing
366         descendants. (We can't just check whether the layer itself has compositing
367         descendants, because overflow follows the render tree, but compositing
368         follows the z-order tree.)
369
370         Test: compositing/geometry/ancestor-overflow-change.html
371
372         * rendering/RenderLayer.cpp:
373         (WebCore::RenderLayer::styleChanged):
374         * rendering/RenderLayer.h:
375         * rendering/RenderLayerBacking.cpp:
376         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
377
378 2011-04-10  Simon Fraser  <simon.fraser@apple.com>
379
380         Reviewed by Ariya Hidayat.
381
382         Allow ShadowBlur to re-use the last buffer if it already contains the correct shadow
383         https://bugs.webkit.org/show_bug.cgi?id=58161
384         
385         ShadowBlur already has a singleton scratch buffer that is re-used
386         between shadows. Enhance use of this scratch buffer to avoid drawing
387         and blurring the shadow if the results will match what is already
388         in the buffer.
389         
390         Cleaned up ShadowBlur code to remove beginShadowLayer() and endShadowLayer(),
391         which ended up with little reusable code after adding the re-use logic.
392
393         * platform/graphics/FloatRect.cpp:
394         (WebCore::enclosingIntRect): Replace safeFloatToInt() with the existing
395         clampToInteger() from MathExtras.h
396         
397         * platform/graphics/FloatSize.h:
398         (WebCore::expandedIntSize): New method to safely ceil() the size.
399         
400         * platform/graphics/RoundedIntRect.h:
401         Add operator== for Radii and RoundedIntRect.
402
403         * platform/graphics/ShadowBlur.cpp:
404         (WebCore::ScratchBuffer::ScratchBuffer):
405         (WebCore::ScratchBuffer::setLastShadowValues):
406         (WebCore::ScratchBuffer::setLastInsetShadowValues):
407         (WebCore::ScratchBuffer::matchesLastShadow):
408         (WebCore::ScratchBuffer::matchesLastInsetShadow):
409         (WebCore::ScratchBuffer::clearScratchBuffer):
410         Have the scratch buffer remember what shadow parameters were used
411         to render the buffer contents.
412         
413         (WebCore::ShadowBlur::drawShadowBuffer):
414         Renamed from endShadowLayer(), and only contains the drawing
415         logic now.
416         
417         (WebCore::ShadowBlur::drawRectShadow):
418         Promote some code from beginShadowLayer().
419         
420         (WebCore::ShadowBlur::drawInsetShadow):
421         Promote some code from beginShadowLayer().
422
423         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
424         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
425         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
426         (WebCore::ShadowBlur::drawRectShadowWithTiling):
427         These methods now check to see if the buffer already matches
428         their required parameters, and avoid work if it does.
429         
430         (WebCore::ShadowBlur::blurShadowBuffer):
431         Factored some code into this new method.
432         
433         (WebCore::ShadowBlur::blurAndColorShadowBuffer):
434         Minor refactoring.
435
436         * platform/graphics/ShadowBlur.h:
437
438 2011-04-10  Geoffrey Garen  <ggaren@apple.com>
439
440         Build fix: Updated for file move.
441
442         * bindings/js/GCController.cpp:
443         * bindings/js/ScriptGCEvent.cpp:
444
445 2011-04-10  Geoffrey Garen  <ggaren@apple.com>
446
447         Rubber-stamped by Beth Dakin.
448
449         Moved Heap.h and Heap.cpp to the heap folder, because anything less 
450         would be uncivilized.
451
452         * ForwardingHeaders/heap/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Heap.h.
453         * ForwardingHeaders/runtime/Heap.h: Removed.
454
455 2011-04-10  Luke Macpherson   <macpherson@chromium.org>
456
457         Reviewed by Simon Fraser.
458
459         Rename CSSStyleApplyProperty::inherit,initial,value applyInheritValue,applyInitialValue,applyValue
460         https://bugs.webkit.org/show_bug.cgi?id=58212
461
462         No new tests - function renaming only / no functionality changes.
463
464         * css/CSSStyleApplyProperty.cpp:
465         Rename all instances of inherit, initial and value.
466         * css/CSSStyleApplyProperty.h:
467         Rename all instances of inherit, initial and value.
468         * css/CSSStyleSelector.cpp:
469         Rename all instances of inherit, initial and value.
470
471 2011-04-10  Mike Lawther  <mikelawther@chromium.org>
472
473         Reviewed by Ojan Vafai.
474
475         flex/bison tokens and grammar for CSS calc
476         https://bugs.webkit.org/show_bug.cgi?id=54412
477
478         Tests: css3/calc/calc-errors.html
479                css3/calc/lexer-regression-57581-2.html
480                css3/calc/lexer-regression-57581-3.html
481                css3/calc/lexer-regression-57581.html
482                css3/calc/minmax-errors.html
483                css3/calc/nested-rounded-corners.html
484                css3/calc/simple-calcs.html
485                css3/calc/simple-minmax.html
486
487         * css/CSSGrammar.y:
488         * css/CSSParserValues.cpp:
489         (WebCore::CSSParserValueList::insertValueAt):
490         (WebCore::CSSParserValueList::extend):
491         * css/CSSParserValues.h:
492         * css/tokenizer.flex:
493
494 2011-04-10  Alice Boxhall  <aboxhall@chromium.org>
495
496         Reviewed by Ryosuke Niwa.
497
498         Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult only.
499         https://bugs.webkit.org/show_bug.cgi?id=57923
500
501         Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult
502         rather than a Node* and an IntPoint&, as the selection may actually not
503         extend into the Node found by the HitTest.
504
505         No new tests. Refactoring only.
506
507         * page/EventHandler.cpp:
508         (WebCore::EventHandler::handleMouseDraggedEvent):
509         (WebCore::EventHandler::updateSelectionForMouseDrag):
510         * page/EventHandler.h:
511
512 2011-04-10  Kent Tamura  <tkent@chromium.org>
513
514         Unreviewed, rolling out r83353.
515         http://trac.webkit.org/changeset/83353
516         https://bugs.webkit.org/show_bug.cgi?id=58106
517
518         The new test doesn't pass on all Chromium platforms.
519
520         * dom/DataTransferItem.h:
521         * dom/DataTransferItem.idl:
522         * platform/chromium/ClipboardMimeTypes.cpp:
523         * platform/chromium/ClipboardMimeTypes.h:
524         * platform/chromium/DataTransferItemChromium.cpp:
525         (WebCore::DataTransferItemChromium::getAsString):
526         * platform/chromium/DataTransferItemChromium.h:
527         * platform/chromium/PlatformBridge.h:
528
529 2011-04-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
530
531         Reviewed by Eric Carlson.
532
533         [EFL] Add seek forward / backward buttons to MediaControl UI.
534         https://bugs.webkit.org/show_bug.cgi?id=56810
535
536         Add seek forward / backward buttons to media control. And, change formType name
537         for media control.
538
539         * platform/efl/RenderThemeEfl.cpp:
540         (WebCore::RenderThemeEfl::edjeGroupFromFormType):
541         (WebCore::RenderThemeEfl::emitMediaButtonSignal):
542         (WebCore::RenderThemeEfl::paintMediaMuteButton):
543         (WebCore::RenderThemeEfl::paintMediaPlayButton):
544         (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
545         (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
546         * platform/efl/RenderThemeEfl.h:
547
548 2011-04-10  Chris Guillory  <chris.guillory@google.com>
549
550         Reviewed by Eric Seidel.
551
552         Remove unused function declaration in PlatformContextSkia.h.
553         https://bugs.webkit.org/show_bug.cgi?id=55983
554
555         * platform/graphics/skia/PlatformContextSkia.h:
556
557 2011-04-10  Patrick Gansterer  <paroga@webkit.org>
558
559         Unreviewed build fix for !ENABLE(XSLT) after r82562.
560
561         * dom/XMLDocumentParserLibxml2.cpp:
562         (WebCore::XMLDocumentParser::doEnd):
563
564 2011-04-10  Patrick Gansterer  <paroga@webkit.org>
565
566         Unreviewed build fix for !ENABLE(XSLT) after r82562.
567
568         * xml/XMLTreeViewer.cpp: Readded #if ENABLE(XSLT).
569
570 2011-04-10  Dimitri Glazkov  <dglazkov@chromium.org>
571
572         Reviewed by Anders Carlsson.
573
574         REGRESSION(r83256): Text-decoration bleeds into shadow DOM
575         https://bugs.webkit.org/show_bug.cgi?id=58205
576
577         Now that the shadow root is a never-styled element, we need to walk to
578         parent to find out if we're inside of a shadow DOM subtree.
579
580         Test: media/controls-styling.html
581
582         * css/CSSStyleSelector.cpp:
583         (WebCore::isAtShadowBoundary): Added helper function.
584         (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to use the helper.
585
586 2011-04-07  Dimitri Glazkov  <dglazkov@chromium.org>
587
588         Reviewed by Eric Carlson.
589
590         [Meta] Convert HTMLMediaElement to use the new shadow DOM
591         https://bugs.webkit.org/show_bug.cgi?id=53020
592
593         This conversion is non-trivial, for several reasons:
594
595         1) Since HTMLMediaElement now hosts the shadow DOM for controls, hiding
596         and showing controls does not result in destroying and re-creating the
597         shadow DOM tree. Instead, the tree is created as needed and shown/hidden
598         using inline styles.
599         
600         2) Instead of detaching/attaching on each style change, the control parts
601         are now using a set of higher fidelity callbacks that notify MediaControls
602         about changes to which it should react. Each reaction results in hiding,
603         showing, or changing the state of the control parts using inline styles
604         and DOM APIs.
605
606         3) Hiding and showing controls is accomplished using inline styles, rather
607         than wiring rendererIsNeeded, because renderers are now re-created less
608         frequently.
609
610         4) Instead of constantly querying RenderTheme about visibility of a particular
611         control part, we let the theme determine which parts are supported and
612         which parts are visible in certain conditions.
613
614         5) Custom hit-testing, event forwarding, and style updates are completely
615         removed, since they are now unnecessary.
616
617         6) Fading controls in/out is now done as CSS animation, since shadow DOM
618         supports it.
619
620         Test: manual-tests/media-controls.html
621
622 2011-04-09  Dan Bernstein  <mitz@apple.com>
623
624         Reviewed by Beth Dakin.
625
626         <rdar://problem/9215280> Detached canvas draws with incorrect font
627
628         Test: fast/canvas/font-update.html
629
630         The existing mechanism for updating the font in a canvas 2D context was lacking in at least
631         two ways: it neglected to update fonts in all but the topmost state in the stack, and since it
632         was based on HTMLCanvasElemen's attach() and recalcStyle(), it did not work when the element
633         was not attached.
634
635         This change takes the responsibility for font updates away from the canvas element and gives it
636         to the canvas context and its graphics state.
637
638         * css/CSSFontSelector.cpp:
639         (WebCore::CSSFontSelector::registerForInvalidationCallbacks): Added. Adds to the set of registered
640         font selector clients.
641         (WebCore::CSSFontSelector::unregisterForInvalidationCallbacks): Added. Removes from the set of
642         registered font selector clients.
643         (WebCore::CSSFontSelector::dispatchInvalidationCallbacks): Calls fontsNeedUpdate() on all registered
644         clients and forces a style recalc on the document.
645         (WebCore::CSSFontSelector::fontLoaded): Changed to call dispatchInvalidationCallbacks().
646         (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
647         * css/CSSFontSelector.h:
648         * html/HTMLCanvasElement.cpp: Removed overrides of attach() and recalcStyle().
649         * html/HTMLCanvasElement.h:
650         * html/canvas/CanvasRenderingContext2D.cpp:
651         (WebCore::CanvasRenderingContext2D::State::~State): Added. Unregisters with the font selector.
652         (WebCore::CanvasRenderingContext2D::State::fontsNeedUpdate): Added. Called by the font selector
653         when its fonts need to be updated. Updates the font.
654         (WebCore::CanvasRenderingContext2D::setFont): Registers the state with the font selector.
655         * html/canvas/CanvasRenderingContext2D.h:
656         * platform/graphics/FontSelector.h:
657         (WebCore::FontSelectorClient::~FontSelectorClient):
658
659 2011-04-09  Geoffrey Garen  <ggaren@apple.com>
660
661         Not reviewed.
662
663         Try recommitting some things svn left out of my last commit.
664
665         * bridge/qt/qt_runtime.h:
666
667 2011-04-09  Geoffrey Garen  <ggaren@apple.com>
668
669         Not reviewed.
670
671         Try recommitting some things svn left out of my last commit.
672
673         * ForwardingHeaders/collector: Removed.
674         * ForwardingHeaders/collector/handles: Removed.
675         * ForwardingHeaders/collector/handles/Global.h: Removed.
676
677 2011-04-08  Dimitri Glazkov  <dglazkov@chromium.org>
678
679         Reviewed by Ojan Vafai.
680
681         Implement proper handling of mouseover/mouseout events in regard to shadow DOM boundaries.
682         https://bugs.webkit.org/show_bug.cgi?id=55515
683
684         This implements XBL 2.0's specified handling of mouseover/mouseout events:
685         http://dev.w3.org/2006/xbl2/Overview.html#the-mouseover-and-mouseout-events
686
687         To do this, we:
688         1) calculate lowest common ancestor between relatedTarget and target, and
689            the nearest boundaries around them: the outer (common) boundary, and the
690            inner (specific to relatedTarget) boundary. Then, we
691         2) ensure that events only propagate up to the common boundary (or
692            all the way if boundary is not found), while
693         3) updating relatedTarget be the inner boundary.
694
695         We also detect the most common case when no common boundary could exist
696         and provide a fast path to short-circuit most of the boundary detection
697         logic.
698
699         Test: fast/events/shadow-boundary-crossing.html
700
701         * dom/EventDispatcher.cpp:
702         (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a helper to determine lowest
703             common ancestor, the boundaries around it, and compute adjustments
704             to relatedTarget and event target ancestor chain.
705         (WebCore::ancestorsCrossShadowBoundaries): Added.
706         (WebCore::EventDispatcher::adjustRelatedTarget): Changed to calculate
707             inner/outer shadow DOM boundaries and adjust ancestors chain accordingly.
708         (WebCore::EventDispatcher::EventDispatcher): Added flag initializer
709         (WebCore::EventDispatcher::ensureEventAncestors): Renamed from getEventAncestors,
710             converted to use initialization flag, rather than testing for empty.
711         * dom/EventDispatcher.h: Adjusted decls.
712         * dom/MouseEvent.cpp:
713         (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to send event
714             to adjustRelatedTarget.
715
716 2011-04-08  Geoffrey Garen  <ggaren@apple.com>
717
718         Reviewed by Oliver Hunt.
719
720         A few heap-related renames and file moves.
721         
722         WeakGCPtr<T> => Weak<T>
723         Global<T> => Strong<T>
724         collector/ => heap/
725         collector/* => heap/*
726         runtime/WeakGCPtr.h => heap/Weak.h
727         
728         (Eventually, even more files should move into the heap directory. Like
729         Heap.h and Heap.cpp, for example.)
730
731         * CMakeLists.txt:
732         * ForwardingHeaders/collector: Removed.
733         * ForwardingHeaders/heap: Copied from ForwardingHeaders/collector.
734         * ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h.
735         * ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h.
736         * ForwardingHeaders/runtime/WeakGCPtr.h: Removed.
737         * WebCore.vcproj/WebCore.vcproj:
738         * WebCore.vcproj/copyForwardingHeaders.cmd:
739         * bindings/js/JSCallbackData.h:
740         * bindings/js/JSCustomVoidCallback.h:
741         * bindings/js/JSDOMWindowBase.h:
742         * bindings/js/JSDOMWindowShell.cpp:
743         (WebCore::JSDOMWindowShell::setWindow):
744         * bindings/js/JSDataGridDataSource.h:
745         * bindings/js/JSEventListener.h:
746         * bindings/js/ScheduledAction.cpp:
747         (WebCore::ScheduledAction::ScheduledAction):
748         * bindings/js/ScheduledAction.h:
749         * bindings/js/ScriptCachedFrameData.cpp:
750         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
751         * bindings/js/ScriptCachedFrameData.h:
752         * bindings/js/ScriptController.cpp:
753         (WebCore::ScriptController::createWindowShell):
754         * bindings/js/ScriptController.h:
755         * bindings/js/ScriptObject.h:
756         * bindings/js/ScriptState.h:
757         * bindings/js/ScriptValue.cpp:
758         * bindings/js/ScriptValue.h:
759         * bindings/js/ScriptWrappable.h:
760         * bindings/js/WorkerScriptController.cpp:
761         (WebCore::WorkerScriptController::initScript):
762         * bindings/js/WorkerScriptController.h:
763         * bridge/jsc/BridgeJSC.h:
764         * bridge/qt/qt_runtime.h:
765         * bridge/runtime_root.h:
766         * xml/XMLHttpRequest.cpp:
767
768 2011-04-09  Keith Kyzivat  <keith.kyzivat@nokia.com>
769
770         Reviewed by Laszlo Gombos.
771
772         [Qt] Don't link against fontconfig or X11 if embedded
773         https://bugs.webkit.org/show_bug.cgi?id=58104
774
775         No functional change so no new tests.
776
777         * WebCore.pri: qpa=>embedded should be done very early so all cases of embedded are uniform.
778
779 2011-04-09  Csaba Osztrogonác  <ossy@webkit.org>
780
781         [Qt] Unreviewed trivial fix after r83344.
782
783         * WebCore.pro: Update HEADERS list.
784
785 2011-04-09  Jon Lee  <jonlee@apple.com>
786
787         Reviewed by Beth Dakin.
788
789         Overlay scrollbar flashes in scrollable <textarea> with each keystroke (58180)
790         https://bugs.webkit.org/show_bug.cgi?id=58180
791         <rdar://problem/9047984>
792
793         * platform/mac/ScrollAnimatorMac.mm:
794         (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Check that there is a change before submitting
795         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
796         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
797
798 2011-04-09  Sreeram Ramachandran  <sreeram@google.com>
799
800         Reviewed by Ryosuke Niwa.
801
802         Gather data on modal dialogs shown during unload events
803         https://bugs.webkit.org/show_bug.cgi?id=58115
804
805         Add a new method to the ChromeClient API to allow clients to receive
806         notifications of modal dialogs dispatched during page dismissal events.
807         The new method has a default empty definition; only chromium overrides
808         it to keep track of histograms.
809
810         No tests because this is a no-op for all ports except chromium (and it's
811         not clear how to test chromium histograms from webkit).
812
813         * page/Chrome.cpp:
814         (WebCore::isDuringPageDismissal):
815         (WebCore::willRunModalDialog):
816         (WebCore::Chrome::runJavaScriptAlert):
817         (WebCore::Chrome::runJavaScriptConfirm):
818         (WebCore::Chrome::runJavaScriptPrompt):
819         (WebCore::Chrome::willRunModalHTMLDialog):
820         * page/Chrome.h:
821         * page/ChromeClient.h:
822         (WebCore::ChromeClient::willRunModalDialogDuringPageDismissal):
823         * page/DOMWindow.cpp:
824         (WebCore::DOMWindow::showModalDialog):
825
826 2011-04-08  David Humphrey  <david.humphrey@senecac.on.ca>
827
828         Reviewed by Eric Carlson.
829
830         Fix call order of media element muted and play(), such that setting muted before play() works.
831         https://bugs.webkit.org/show_bug.cgi?id=57673
832         https://code.google.com/p/chromium/issues/detail?id=70777
833
834         Manual test added: manual-tests/media-muted.html
835
836         * html/HTMLMediaElement.cpp:
837         (WebCore::HTMLMediaElement::updatePlayState):
838         * manual-tests/media-muted.html: Added.
839
840 2011-04-08  Nat Duca  <nduca@chromium.org>
841
842         Reviewed by David Levin.
843
844         [chromium] Fix windows assertion on ~CCThread
845         https://bugs.webkit.org/show_bug.cgi?id=58153
846
847         Because ~CCThread uses waitForThreadCompletion,
848         calling detachThread is not necessary.
849
850         * platform/graphics/chromium/cc/CCThread.cpp:
851         (WebCore::CCThread::runLoop):
852
853 2011-04-08  Jian Li  <jianli@chromium.org>
854
855         Unreviewed, rolling out r83348.
856         http://trac.webkit.org/changeset/83348
857         https://bugs.webkit.org/show_bug.cgi?id=49508
858
859         Breaks layout tests in QT, Win7 and Chromium.
860
861         * rendering/RenderText.cpp:
862         (WebCore::RenderText::localCaretRect):
863
864 2011-04-08  MORITA Hajime  <morrita@google.com>
865
866         Reviewed by Simon Fraser.
867
868         Negative spread should not make a sharp corner rounded
869         https://bugs.webkit.org/show_bug.cgi?id=58162
870
871         Handled inset shadow path for rounded and non-rounded rect
872         differently as normal shadow path is doing.
873         
874         * rendering/RenderBoxModelObject.cpp:
875         (WebCore::RenderBoxModelObject::paintBoxShadow):
876
877 2011-04-07  Simon Fraser  <simon.fraser@apple.com>
878
879         Reviewed by Martin Robinson.
880
881         REGRESSION (r77034-r77220): CSS box-shadow no longer renders on PowerPC
882         https://bugs.webkit.org/show_bug.cgi?id=55180
883
884         The endianness #ifdef in ShadowBlur was unnecessary and harmful. The
885         data we get back from ImageBuffer::getImageData() do not vary in
886         endianness.
887
888         * platform/graphics/ShadowBlur.cpp:
889         (WebCore::ShadowBlur::blurLayerImage):
890
891 2011-04-08  Erik Arvidsson  <arv@chromium.org>
892
893         Reviewed by Dimitri Glazkov.
894
895         IFrame is getting the focus even though it is hidden
896         https://bugs.webkit.org/show_bug.cgi?id=55861
897
898         Test: fast/dom/hidden-iframe-no-focus.html
899
900         * html/HTMLFrameOwnerElement.cpp:
901         (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable):
902         * html/HTMLFrameOwnerElement.h:
903
904 2011-04-08  Jeff Timanus  <twiz@chromium.org>
905
906         Reviewed by Kenneth Russell.
907
908         Fall back to software rendering for Canvas2D when requesting a DrawingBuffer larger than supported by the GL environment.
909         https://bugs.webkit.org/show_bug.cgi?id=57768
910
911         * html/canvas/CanvasRenderingContext2D.cpp:
912         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
913         (WebCore::CanvasRenderingContext2D::reset):
914         * platform/graphics/gpu/DrawingBuffer.cpp:
915         (WebCore::DrawingBuffer::reset):
916         * platform/graphics/gpu/DrawingBuffer.h:
917
918 2011-04-08  Daniel Cheng  <dcheng@chromium.org>
919
920         Reviewed by Dmitry Titov.
921
922         [chromium] Implement image/png support in DataTransferItems
923         https://bugs.webkit.org/show_bug.cgi?id=58106
924
925         This patch implements DataTransferItem::getAsFile() using Blobs. In
926         addition, plumbing for image/png has been added so image paste will be
927         supported as long as the renderer makes that data available.
928
929         Tests: editing/pasteboard/data-transfer-items-image-png.html
930
931         * dom/DataTransferItem.h:
932         * dom/DataTransferItem.idl:
933         * platform/chromium/ClipboardMimeTypes.cpp:
934         * platform/chromium/ClipboardMimeTypes.h:
935         * platform/chromium/DataTransferItemChromium.cpp:
936         (WebCore::DataTransferItemChromium::getAsString):
937         (WebCore::DataTransferItemChromium::getAsFile):
938         * platform/chromium/DataTransferItemChromium.h:
939         * platform/chromium/PlatformBridge.h:
940
941 2011-04-08 MORITA Hajime  <morrita@google.com>
942
943         Unreviewed windows build fix.
944         
945         * editing/SpellingCorrectionController.h:
946         (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
947
948 2011-04-08  Enrica Casucci  <enrica@apple.com>
949
950         Reviewed by Maciej Stachowiak.
951
952         Improve lifetime management of nodes in ReplaceNodeWithSpanCommand.
953         https://bugs.webkit.org/show_bug.cgi?id=57595
954         <rdar://problem/9222122>
955
956         Test: editing/style/bold-with-dom-changes.html
957
958         * editing/ReplaceNodeWithSpanCommand.cpp:
959         (WebCore::swapInNodePreservingAttributesAndChildren):
960
961 2011-04-07  Roland Steiner  <rolandsteiner@chromium.org>
962
963         Reviewed by Dimitri Glazkov.
964
965         Bug 58060 - Prepare access to TreeScope from Node, using NodeRareData
966         https://bugs.webkit.org/show_bug.cgi?id=58060
967
968         Add a TreeScope pointer to NodeRareData to allow direct access to the containing tree scope.
969         However, in case the containing scope is the document, this is not set, and the
970         document pointer within Node is used instead.
971
972         In an object derived from TreeScope (currently Document), the tree scope pointer
973         points to itself. Such objects also contain a parent tree scope pointer that
974         points to the containing scope. For Document, this is 0.
975
976         Add new functions setTreeScope[Recursively] that replace setDocument[Recursively]
977         in public usage. setDocument[Recursively] are now only used internally and are
978         thererfore protected.
979
980         No new tests. (no new functionality)
981
982         * dom/ContainerNode.cpp: change DOM manipulation methods to update scope of inserted nodes
983         (WebCore::ContainerNode::insertBefore):
984         (WebCore::ContainerNode::replaceChild):
985         (WebCore::ContainerNode::appendChild):
986         * dom/Document.cpp:
987         (WebCore::Document::~Document):
988         (WebCore::Document::setDocType): Ditto
989         (WebCore::Document::adoptNode): Ditto
990         * dom/Document.h:
991         * dom/Node.cpp:
992         (WebCore::Node::treeScope): use NodeRareData to check if a non-Document scope is set
993         (WebCore::Node::setTreeScope): update NodeRareData depending on whether scope is a document
994         (WebCore::Node::setTreeScopeRecursively):
995         (WebCore::Node::setDocumentRecursively):
996         * dom/Node.h:
997         * dom/NodeRareData.h: add scope pointer
998         (WebCore::NodeRareData::NodeRareData):
999         (WebCore::NodeRareData::treeScope):
1000         (WebCore::NodeRareData::setTreeScope):
1001         * dom/TreeScope.cpp: add parentTreeScope pointer
1002         (WebCore::TreeScope::TreeScope):
1003         (WebCore::TreeScope::setParentTreeScope):
1004         * dom/TreeScope.h:
1005         (WebCore::TreeScope::parentTreeScope):
1006
1007 2011-04-08  Xiaomei Ji  <xji@chromium.org>
1008
1009         Reviewed by David Hyatt.
1010
1011         Local caret rectangle calculation should be relative to its containing block.
1012         https://bugs.webkit.org/show_bug.cgi?id=49508.
1013
1014         InlineBox and caret rectangle are positioned relative to its containing block.
1015         So its left and right edge value should be relative to its containing block as well. 
1016
1017         Test: fast/forms/cursor-at-editable-content-boundary.html
1018
1019         * rendering/RenderText.cpp:
1020         (WebCore::RenderText::localCaretRect):
1021
1022 2011-04-08  MORITA Hajime  <morrita@google.com>
1023
1024         Unreviewed build fix.
1025
1026         * editing/Editor.cpp:
1027         (WebCore::Editor::markMisspellingsAfterTypingToWord):
1028
1029 2011-04-08  David Hyatt  <hyatt@apple.com>
1030
1031         Reviewed by Simon Fraser.
1032
1033         https://bugs.webkit.org/show_bug.cgi?id=57971
1034         
1035         Rework visited/unvisited links for before/after content. Propagate the bits earlier so that we don't lose
1036         them when we throw away the visited style. Don't throw away the visited link style for pseudo elements
1037         either, so that the styles are consistent.
1038
1039         Added fast/history/visited-generated-content-test.html
1040
1041         * css/CSSStyleSelector.cpp:
1042         (WebCore::CSSStyleSelector::styleForElement):
1043         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1044
1045 2011-04-06  MORITA Hajime  <morrita@google.com>
1046
1047         Reviewed by Darin Adler.
1048
1049         [Refactoring] Auto correction panel should be handled by its own class.
1050         https://bugs.webkit.org/show_bug.cgi?id=55571
1051
1052         Extracted code inside SUPPORT_AUTOCORRECTION_PANEL into
1053         SpellingCorrectionController class.
1054         This change also remove some SUPPORT_AUTOCORRECTION_PANEL guard if
1055         code paths inside the never reached without autocorrection support.
1056         Removing guards reduces unintentional build breakage.
1057
1058         No new tests, no behavior chagne.
1059
1060         * CMakeLists.txt:
1061         * GNUmakefile.am:
1062         * WebCore.gypi:
1063         * WebCore.pro:
1064         * WebCore.vcproj/WebCore.vcproj:
1065         * WebCore.xcodeproj/project.pbxproj:
1066         * editing/CorrectionPanelInfo.h: Removed.
1067         * editing/EditingAllInOne.cpp:
1068         * editing/Editor.cpp:
1069         (WebCore::Editor::respondToChangedSelection):
1070         (WebCore::Editor::respondToChangedContents):
1071         (WebCore::Editor::appliedEditing):
1072         (WebCore::Editor::Editor):
1073         (WebCore::Editor::~Editor):
1074         (WebCore::Editor::insertTextWithoutSendingTextEvent):
1075         (WebCore::Editor::insertLineBreak):
1076         (WebCore::Editor::insertParagraphSeparator):
1077         (WebCore::Editor::cut):
1078         (WebCore::Editor::paste):
1079         (WebCore::Editor::pasteAsPlainText):
1080         (WebCore::Editor::isAutomaticSpellingCorrectionEnabled):
1081         (WebCore::Editor::markMisspellingsAfterTypingToWord):
1082         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1083         (WebCore::Editor::changeBackToReplacedString):
1084         (WebCore::Editor::unappliedSpellCorrection):
1085         (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
1086         (WebCore::Editor::startCorrectionPanelTimer):
1087         (WebCore::Editor::handleCorrectionPanelResult):
1088         (WebCore::Editor::dismissCorrectionPanelAsIgnored):
1089         * editing/Editor.h:
1090         * editing/SpellingCorrectionCommand.cpp:
1091         * editing/SpellingCorrectionController.cpp: Added.
1092         (WebCore::markerTypesForAutocorrection):
1093         (WebCore::markerTypesForReplacement):
1094         (WebCore::markersHaveIdenticalDescription):
1095         (WebCore::SpellingCorrectionController::SpellingCorrectionController):
1096         (WebCore::SpellingCorrectionController::~SpellingCorrectionController):
1097         (WebCore::SpellingCorrectionController::startCorrectionPanelTimer):
1098         (WebCore::SpellingCorrectionController::stopCorrectionPanelTimer):
1099         (WebCore::SpellingCorrectionController::stopPendingCorrection):
1100         (WebCore::SpellingCorrectionController::applyPendingCorrection):
1101         (WebCore::SpellingCorrectionController::hasPendingCorrection):
1102         (WebCore::SpellingCorrectionController::isSpellingMarkerAllowed):
1103         (WebCore::SpellingCorrectionController::show):
1104         (WebCore::SpellingCorrectionController::handleCancelOperation):
1105         (WebCore::SpellingCorrectionController::dismiss):
1106         (WebCore::SpellingCorrectionController::dismissSoon):
1107         (WebCore::SpellingCorrectionController::applyCorrectionPanelInfo):
1108         (WebCore::SpellingCorrectionController::applyAutocorrectionBeforeTypingIfAppropriate):
1109         (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
1110         (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
1111         (WebCore::SpellingCorrectionController::handleCorrectionPanelResult):
1112         (WebCore::SpellingCorrectionController::isAutomaticSpellingCorrectionEnabled):
1113         (WebCore::SpellingCorrectionController::windowRectForRange):
1114         (WebCore::SpellingCorrectionController::respondToChangedSelection):
1115         (WebCore::SpellingCorrectionController::respondToAppliedEditing):
1116         (WebCore::SpellingCorrectionController::client):
1117         (WebCore::SpellingCorrectionController::textChecker):
1118         (WebCore::SpellingCorrectionController::recordAutocorrectionResponseReversed):
1119         (WebCore::SpellingCorrectionController::markReversed):
1120         (WebCore::SpellingCorrectionController::markCorrection):
1121         (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
1122         * editing/SpellingCorrectionController.h: Added.
1123         (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
1124         (WebCore::SpellingCorrectionController::shouldStartTimeFor):
1125         (WebCore::SpellingCorrectionController::shouldRemoveMarkersUponEditing):        
1126         * editing/TypingCommand.cpp:
1127         (WebCore::TypingCommand::insertText):
1128         (WebCore::TypingCommand::markMisspellingsAfterTyping):
1129         (WebCore::TypingCommand::deleteKeyPressed):
1130         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1131         * editing/htmlediting.h:
1132         (WebCore::isAmbiguousBoundaryCharacter):
1133         * page/EditorClient.h:
1134         * page/Frame.cpp:
1135         (WebCore::Frame::setPageAndTextZoomFactors):
1136
1137 2011-04-08  Alpha Lam  <hclam@chromium.org>
1138
1139         Unreviewed, rolling out r83335.
1140         http://trac.webkit.org/changeset/83335
1141         https://bugs.webkit.org/show_bug.cgi?id=53556
1142
1143         GTK and QT bots are broken
1144
1145         * CMakeLists.txt:
1146         * Configurations/FeatureDefines.xcconfig:
1147         * DerivedSources.make:
1148         * GNUmakefile.am:
1149         * WebCore.gypi:
1150         * WebCore.xcodeproj/project.pbxproj:
1151         * features.pri:
1152         * html/HTMLAttributeNames.in:
1153         * html/HTMLTagNames.in:
1154         * html/HTMLTrackElement.cpp: Removed.
1155         * html/HTMLTrackElement.h: Removed.
1156         * html/HTMLTrackElement.idl: Removed.
1157
1158 2011-04-08  Brady Eidson  <beidson@apple.com>
1159
1160         Reviewed by Adam Roben.
1161
1162         https://bugs.webkit.org/show_bug.cgi?id=58155 and part of <rdar://problem/9251767>
1163         BitmapImage::getFirstCGImageRefOfSize fails if the frameCount hasn't been initialized from the image source.
1164
1165         * platform/graphics/cg/ImageCG.cpp:
1166         (WebCore::BitmapImage::getFirstCGImageRefOfSize): Call frameCount() instead of accessing m_frames.size() to
1167           make sure the frames are properly tallied first.
1168
1169 2011-04-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
1170
1171         Reviewed by Andreas Kling.
1172
1173         [Qt] Dragging and dropping an image in edit mode does not work
1174         https://bugs.webkit.org/show_bug.cgi?id=19385
1175
1176         When adding an image to the clipboard, we should also include the HTML code of that image so
1177         it can be used for internal drag and drop.
1178
1179         This HTML is expected by all clients of drop events so a fragment can be moved from one browser to
1180         another, or inside the same browser.
1181
1182         * platform/qt/ClipboardQt.cpp:
1183         (WebCore::ClipboardQt::declareAndWriteDragImage):
1184
1185 2011-04-07  Anna Cavender  <annacc@chromium.org>
1186
1187         Reviewed by Eric Carlson.
1188
1189         Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
1190         https://bugs.webkit.org/show_bug.cgi?id=53556
1191
1192         No new tests. No real functionality added just yet.
1193
1194         * CMakeLists.txt:
1195         * Configurations/FeatureDefines.xcconfig:
1196         * DerivedSources.make:
1197         * GNUmakefile.am:
1198         * WebCore.gypi:
1199         * WebCore.xcodeproj/project.pbxproj:
1200         * features.pri:
1201         * html/HTMLAttributeNames.in:
1202         * html/HTMLTagNames.in:
1203         * html/HTMLTrackElement.cpp: Added.
1204         (WebCore::HTMLTrackElement::HTMLTrackElement):
1205         (WebCore::HTMLTrackElement::create):
1206         (WebCore::HTMLTrackElement::insertedIntoTree):
1207         (WebCore::HTMLTrackElement::willRemove):
1208         (WebCore::HTMLTrackElement::src):
1209         (WebCore::HTMLTrackElement::setSrc):
1210         (WebCore::HTMLTrackElement::kind):
1211         (WebCore::HTMLTrackElement::setKind):
1212         (WebCore::HTMLTrackElement::srclang):
1213         (WebCore::HTMLTrackElement::setSrclang):
1214         (WebCore::HTMLTrackElement::label):
1215         (WebCore::HTMLTrackElement::setLabel):
1216         (WebCore::HTMLTrackElement::isDefault):
1217         (WebCore::HTMLTrackElement::setIsDefault):
1218         (WebCore::HTMLTrackElement::isURLAttribute):
1219         * html/HTMLTrackElement.h: Added.
1220         * html/HTMLTrackElement.idl: Added.
1221
1222 2011-04-07  Jer Noble  <jer.noble@apple.com>
1223
1224         Reviewed by Eric Carlson.
1225
1226         Logic error in HTMLMediaElement::exitFullscreen()
1227         https://bugs.webkit.org/show_bug.cgi?id=58085
1228
1229         The new full screen API case could fall through to the legacy API case
1230         unintentionally if a script calls exitFullscreen on an element which is
1231         not the current full screen element.
1232
1233         * html/HTMLMediaElement.cpp:
1234         (WebCore::HTMLMediaElement::enterFullscreen):
1235         (WebCore::HTMLMediaElement::exitFullscreen):
1236
1237 2011-04-08  Mike Reed  <reed@google.com>
1238
1239         Reviewed by Eric Seidel.
1240
1241         Replace SKIA_TEXT with isNativeFontRenderingAllowed() for print-preview to work
1242         https://bugs.webkit.org/show_bug.cgi?id=57782
1243
1244         No new tests. This change only affects print-preview and build option SKIA_GPU 
1245
1246         * platform/graphics/skia/SkiaFontWin.cpp:
1247         (WebCore::paintSkiaText):
1248
1249 2011-04-08  Ryosuke Niwa  <rniwa@webkit.org>
1250
1251         Reviewed by Tony Chang, Darin Adler, and Enrica Casucci.
1252
1253         REGRESSION(r81887): Crash in SplitElement
1254         https://bugs.webkit.org/show_bug.cgi?id=57743
1255
1256         The crash was caused by ReplaceSelectionCommand::doApply's calling splitElement with computeNodeAfterPosition
1257         even when the position was after the last node in it container. Since all we are doing here is to splitting tree
1258         up until the highest ancestor with isInlineNodeWithStyle, replaced the while loop by calls to splitTreeToNode
1259         and highestEnclosingNodeOfType.
1260
1261         Also fixed a bug in splitTreeToNode not to check the difference in visible position when splitting the ancestor,
1262         which would have introduced unnecessary nodes when splitting tree and a bug in highestEnclosingNodeOfType that
1263         it incorrectly called deprecatedNode instead of containerNode.
1264
1265         Test: editing/inserting/insert-images-in-pre-x-crash.html
1266
1267         * editing/CompositeEditCommand.cpp:
1268         (WebCore::CompositeEditCommand::splitTreeToNode):
1269         * editing/ReplaceSelectionCommand.cpp:
1270         (WebCore::ReplaceSelectionCommand::doApply):
1271         * editing/htmlediting.cpp:
1272         (WebCore::highestEnclosingNodeOfType):
1273
1274 2011-04-08  Antti Koivisto  <antti@apple.com>
1275
1276         Reviewed by Tony Gentilcore.
1277
1278         Incoming source should be preload scanned when the parser is blocked 
1279         https://bugs.webkit.org/show_bug.cgi?id=58117
1280
1281         Scan the appended source if parser is blocked.
1282
1283         Test: http/tests/loading/preload-append-scan.php
1284
1285         * html/parser/HTMLDocumentParser.cpp:
1286         (WebCore::HTMLDocumentParser::append):
1287
1288 2011-04-08  Martin Robinson  <mrobinson@igalia.com>
1289
1290         Reviewed by Xan Lopez.
1291
1292         [GTK] Fix the WebKit2 build for older versions of GTK+
1293         https://bugs.webkit.org/show_bug.cgi?id=58095
1294
1295         No new tests. This is just a build fix.
1296
1297         * platform/gtk/GtkVersioning.c:
1298         (gdk_window_create_similar_surface): Reimplement this method for older versions of GDK.
1299         * platform/gtk/GtkVersioning.h: Add the new method to the header.
1300
1301 2011-04-08  Misha Tyutyunik  <michael.tyutyunik@nokia.com>
1302
1303         Reviewed by Laszlo Gombos.
1304
1305         [Qt] Plugin is not scrolled together with page content or jumping 
1306         when content is rendered using cache (backing store).
1307         https://bugs.webkit.org/show_bug.cgi?id=56130
1308         
1309         This is a Symbian portion of the fix. For Linux it looks like
1310         it's enough to call set geometry which should be addressed in
1311         https://bugs.webkit.org/show_bug.cgi?id=57179
1312
1313         No new tests required. This can be tested with manual tests from 
1314         WebCore/manual-tests/qt and WebCore/manual-tests/plugins
1315
1316         * plugins/symbian/PluginViewSymbian.cpp:
1317         (WebCore::PluginView::updatePluginWidget):
1318
1319 2011-04-08  Abhishek Arya  <inferno@chromium.org>
1320
1321         Unreviewed. Remove accidental printf added in r83306.
1322
1323         * page/EventHandler.cpp:
1324         (WebCore::EventHandler::sendContextMenuEvent):
1325
1326 2011-04-08  Enrica Casucci  <enrica@apple.com>
1327
1328         Reviewed by Darin Adler.
1329
1330         Dragging text in a WebKit2 window results in a copy instead of a move.
1331         https://bugs.webkit.org/show_bug.cgi?id=56772
1332         <rdar://problem/9165140>
1333
1334         cleanupAfterSystemDrag cannot call dragEnd in WebKit2, since
1335         the call to startDrag is asynchronous.
1336         
1337         * page/mac/DragControllerMac.mm:
1338         (WebCore::DragController::cleanupAfterSystemDrag):
1339
1340 2011-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
1341
1342         Reviewed by Darin Adler.
1343
1344         Move WheelEvent-dispatching logic into WheelEventDispatchMediator.
1345         https://bugs.webkit.org/show_bug.cgi?id=57642
1346
1347         Covered by existing tests, no functional change.
1348
1349         * dom/Event.cpp:
1350         * dom/Event.h:
1351         (WebCore::EventDispatchMediator::EventDispatchMediator): Added default
1352             constructor.
1353         (WebCore::EventDispatchMediator::event): Inlined.
1354         (WebCore::EventDispatchMediator::setEvent): Added.
1355         * dom/EventDispatcher.cpp: Removed dispatchWheelEvent.
1356         * dom/EventDispatcher.h: Updated decls.
1357         * dom/Node.cpp:
1358         (WebCore::Node::dispatchWheelEvent): Changed to use the mediator and
1359             return a bool, like other dispatch event functions.
1360         * dom/Node.h: Changed decl.
1361         * dom/WheelEvent.cpp:
1362         (WebCore::granularity): Moved from EventDispatcher.
1363         (WebCore::WheelEventDispatchMediator::WheelEventDisatchMediator): Added.
1364         (WebCore::WheelEventDispatchMediator::event): Added.
1365         (WebCore::WheelEventDispatchMediator::dispatchEvent): Added.
1366         * dom/WheelEvent.h: Updated decls.
1367         * page/EventHandler.cpp:
1368         (WebCore::EventHandler::handleWheelEvent): Changed to receive and react
1369             to the return value.
1370
1371 2011-04-08  Jessie Berlin  <jberlin@apple.com>
1372
1373         Windows build warning fix.
1374
1375         * WebCore.vcproj/WebCore.vcproj:
1376         Since ShadowRoot.cpp is included in the DOMAllInOne.cpp file, it should be excluded from
1377         the build.
1378
1379 2011-04-07  Pavel Podivilov  <podivilov@chromium.org>
1380
1381         Reviewed by Pavel Feldman.
1382
1383         Web Inspector: update breakpoints according to source frame decorations after live edit.
1384         https://bugs.webkit.org/show_bug.cgi?id=58029
1385
1386         * inspector/front-end/DebuggerPresentationModel.js:
1387         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
1388         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
1389         (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent.didEditScriptSource):
1390         (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent):
1391         * inspector/front-end/SourceFile.js:
1392         (WebInspector.SourceFile.prototype.set content):
1393         * inspector/front-end/SourceFrame.js:
1394         (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
1395         (WebInspector.SourceFrame.prototype._handleSave):
1396
1397 2011-04-08  Pavel Podivilov  <podivilov@chromium.org>
1398
1399         Reviewed by Pavel Feldman.
1400
1401         Web Inspector: fix scripts concatenation in scripts panel.
1402         https://bugs.webkit.org/show_bug.cgi?id=58138
1403
1404         When there is just one script starting at 0:0 it should not be surrounded by <script> framing.
1405
1406         * inspector/front-end/SourceFile.js:
1407         (WebInspector.SourceFile.prototype._loadResourceContent):
1408         (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
1409
1410 2011-04-08  Pavel Feldman  <pfeldman@chromium.org>
1411
1412         Reviewed by Yury Semikhatsky.
1413
1414         Web Inspector: use "locations" for debugger scripts, "lineNumbers" for the UI elements.
1415         https://bugs.webkit.org/show_bug.cgi?id=58118
1416
1417         This change reuses location for call frames in the protocol + structures script
1418         location <-> source lines interaction better. When we need UI columns, we will add
1419         them, but we should distinguish between script and UI terms on the type level, not naming.
1420
1421         * English.lproj/localizedStrings.js:
1422         * bindings/v8/DebuggerScript.js:
1423         * inspector/InjectedScriptSource.js:
1424         * inspector/Inspector.json:
1425         * inspector/front-end/CallStackSidebarPane.js:
1426         (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine):
1427         (WebInspector.CallStackSidebarPane.prototype.update):
1428         * inspector/front-end/DebuggerPresentationModel.js:
1429         (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestSourceMapping):
1430         (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
1431         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
1432         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
1433         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
1434         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
1435         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
1436         (WebInspector.PresenationCallFrame):
1437         (WebInspector.PresenationCallFrame.prototype.sourceLine.didRequestSourceMapping):
1438         (WebInspector.PresenationCallFrame.prototype.sourceLine):
1439         * inspector/front-end/ScriptFormatter.js:
1440         (WebInspector.ScriptFormatter.locationToPosition):
1441         (WebInspector.ScriptFormatter.lineToPosition):
1442         * inspector/front-end/ScriptsPanel.js:
1443         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
1444         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
1445         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
1446         (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
1447         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
1448         * inspector/front-end/SourceFile.js:
1449         (WebInspector.SourceMapping.prototype.scriptLocationToSourceLine):
1450         (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
1451         (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
1452         (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
1453
1454 2011-04-08  Pavel Podivilov  <podivilov@chromium.org>
1455
1456         Reviewed by Pavel Feldman.
1457
1458         Web Inspector: distinguish breakpoints set on de-obfuscated sources from breakponts set on original sources.
1459         https://bugs.webkit.org/show_bug.cgi?id=58133
1460
1461         * inspector/front-end/DebuggerPresentationModel.js:
1462         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
1463         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
1464         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1465         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
1466         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
1467         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
1468         (WebInspector.DebuggerPresentationModel.prototype._reset):
1469
1470 2011-04-07  Pavel Podivilov  <podivilov@chromium.org>
1471
1472         Reviewed by Pavel Feldman.
1473
1474         Web Inspector: make SourceFrame TextViewer's delegate for editing operations.
1475         https://bugs.webkit.org/show_bug.cgi?id=58026
1476
1477         This is the first step of decoupling TextViewer from SourceFrame.
1478
1479         * inspector/front-end/SourceFrame.js:
1480         (WebInspector.SourceFrame):
1481         (WebInspector.SourceFrame.prototype.show):
1482         (WebInspector.SourceFrame.prototype.hide):
1483         (WebInspector.SourceFrame.prototype._ensureContentLoaded):
1484         (WebInspector.SourceFrame.prototype.contentEditable):
1485         (WebInspector.SourceFrame.prototype.startEditing):
1486         (WebInspector.SourceFrame.prototype.endEditing):
1487         (WebInspector.SourceFrame.prototype._createTextViewer):
1488         (WebInspector.SourceFrame.prototype._handleSave):
1489         (WebInspector.SourceFrame.prototype._handleRevertEditing):
1490         * inspector/front-end/TextViewer.js:
1491         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
1492         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
1493         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
1494         (WebInspector.TextViewer.prototype._doubleClick):
1495         (WebInspector.TextViewerDelegate):
1496         (WebInspector.TextViewerDelegate.prototype.contentEditable):
1497         (WebInspector.TextViewerDelegate.prototype.startEditing):
1498         (WebInspector.TextViewerDelegate.prototype.endEditing):
1499         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
1500         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
1501         * inspector/front-end/inspector.html:
1502
1503 2011-04-08  Leandro Gracia Gil  <leandrogracia@chromium.org>
1504
1505         Reviewed by Steve Block.
1506
1507         Media Stream API: add the getUserMedia method and the Javascript bindings.
1508         https://bugs.webkit.org/show_bug.cgi?id=56586
1509
1510         Add the getUserMedia method to the navigator and its new Javascript types.
1511         Current specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication
1512
1513         Tests: fast/dom/MediaStream/argument-types.html
1514                fast/dom/MediaStream/enabled.html
1515                fast/dom/MediaStream/no-interface-object.html
1516
1517         * Android.derived.jscbindings.mk:
1518         * Android.derived.v8bindings.mk:
1519         * Android.v8bindings.mk:
1520         * CMakeLists.txt:
1521         * CodeGenerators.pri:
1522         * DerivedSources.cpp:
1523         * DerivedSources.make:
1524         * GNUmakefile.list.am:
1525         * WebCore.gypi:
1526         * WebCore.pro:
1527         * WebCore.vcproj/WebCore.vcproj:
1528         * WebCore.xcodeproj/project.pbxproj:
1529         * bindings/js/JSNavigatorCustom.cpp:
1530         (WebCore::JSNavigator::webkitGetUserMedia):
1531         * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
1532         (WebCore::V8Navigator::webkitGetUserMediaCallback):
1533         * page/Navigator.cpp:
1534         (WebCore::Navigator::webkitGetUserMedia):
1535         * page/Navigator.h:
1536         * page/Navigator.idl:
1537         * page/NavigatorUserMediaError.h: Added.
1538         (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
1539         (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
1540         (WebCore::NavigatorUserMediaError::code):
1541         * page/NavigatorUserMediaError.idl: Added.
1542         * page/NavigatorUserMediaErrorCallback.h: Added.
1543         (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
1544         * page/NavigatorUserMediaErrorCallback.idl: Added.
1545         * page/NavigatorUserMediaSuccessCallback.h: Added.
1546         (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
1547         * page/NavigatorUserMediaSuccessCallback.idl: Added.
1548
1549 2011-04-08  Mikhail Naganov  <mnaganov@chromium.org>
1550
1551         Reviewed by Pavel Feldman.
1552
1553         Web Inspector: [Chromium] Add more tests for detailed heap snapshots UI.
1554         https://bugs.webkit.org/show_bug.cgi?id=58010
1555         https://bugs.webkit.org/show_bug.cgi?id=58011
1556
1557         Added tests for "Containment" view. Minor refactorings, bugs fixed.
1558         Split one large tests into smaller ones to avoid timing out in debug mode.
1559
1560         Tests: inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html
1561                inspector/profiler/detailed-heapshots-containment-show-all.html
1562                inspector/profiler/detailed-heapshots-containment-show-next.html
1563                inspector/profiler/detailed-heapshots-containment-sorting.html
1564                inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html
1565                inspector/profiler/detailed-heapshots-summary-show-all.html
1566                inspector/profiler/detailed-heapshots-summary-show-next.html
1567                inspector/profiler/detailed-heapshots-summary-sorting.html
1568
1569         * inspector/front-end/DetailedHeapshotGridNodes.js:
1570         (WebInspector.HeapSnapshotGridNode):
1571         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
1572         (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
1573         (WebInspector.HeapSnapshotGridNode.prototype.sort):
1574         (WebInspector.HeapSnapshotGenericObjectNode):
1575         (WebInspector.HeapSnapshotObjectNode):
1576         (WebInspector.HeapSnapshotInstanceNode):
1577         (WebInspector.HeapSnapshotConstructorNode):
1578         (WebInspector.HeapSnapshotDiffNode):
1579         (WebInspector.HeapSnapshotDominatorObjectNode):
1580         * inspector/front-end/DetailedHeapshotView.js:
1581         (WebInspector.HeapSnapshotContainmentDataGrid):
1582         (WebInspector.HeapSnapshotDominatorsDataGrid):
1583
1584 2011-04-08  Andrey Adaikin  <aandrey@google.com>
1585
1586         Reviewed by Pavel Feldman.
1587
1588         Web Inspector: Bugs in some corner cases in the text editor
1589         https://bugs.webkit.org/show_bug.cgi?id=58025
1590
1591         This solves the following bugs:
1592         1) The very last _empty_ line would not be deleted if you hit a Backspace on it, or the selection text to be deleted is extended to the very bottom of the editor.
1593         2) An odd corner case: delete all source code from the editor, hit backspace on the only empty line, then add a character. In this case the browser will insert a TEXT node instead of a DIV node for a lineRow.
1594
1595         * inspector/front-end/TextViewer.js:
1596         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
1597         (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
1598         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
1599         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1600         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
1601
1602 2011-04-07  Pavel Podivilov  <podivilov@chromium.org>
1603
1604         Reviewed by Pavel Feldman.
1605
1606         Web Inspector: add test for script formatter worker.
1607         https://bugs.webkit.org/show_bug.cgi?id=57447
1608
1609         Test: inspector/debugger/script-formatter.html
1610
1611         * GNUmakefile.am:
1612         * WebCore.xcodeproj/project.pbxproj:
1613         * gyp/streamline-inspector-source.sh:
1614         * inspector/front-end/DebuggerPresentationModel.js:
1615         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1616         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
1617         (WebInspector.DebuggerPresentationModel.prototype._formatter):
1618         * inspector/front-end/ScriptFormatterWorker.js:
1619
1620 2011-04-08  Andrey Adaikin  <aandrey@google.com>
1621
1622         Reviewed by Pavel Feldman.
1623
1624         Web Inspector: Tweak dynamically constants for the async highlighting in text editor
1625         https://bugs.webkit.org/show_bug.cgi?id=58035
1626
1627         * inspector/front-end/TextViewer.js:
1628         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
1629         (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
1630         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
1631         (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
1632         (WebInspector.TextEditorMainPanel.prototype._adjustPaintLinesOperationsRefreshValue):
1633
1634 2011-04-08  Andrey Kosyakov  <caseq@chromium.org>
1635
1636         Reviewed by Yury Semikhatsky.
1637
1638         Web Inspector: HAR compliance fixes
1639         https://bugs.webkit.org/show_bug.cgi?id=58124
1640
1641         - Always provide some values for queryString and cookies, even though arrays may be empty
1642         - Always provide an empty cache object
1643         - Added entire HARLog to test
1644         - Workaround in test to avoid custom expectations (favicon.ico appears in log on certain platforms)
1645
1646         * inspector/front-end/HAREntry.js:
1647         (WebInspector.HAREntry.prototype.build):
1648         (WebInspector.HAREntry.prototype._buildRequest):
1649         (WebInspector.HAREntry.prototype._buildResponse):
1650
1651 2011-04-08  Adam Barth  <abarth@webkit.org>
1652
1653         Attempt to fix the Qt build.
1654
1655         * css/CSSStyleApplyProperty.cpp:
1656
1657 2011-04-07  Adam Barth  <abarth@webkit.org>
1658
1659         Reviewed by Eric Seidel.
1660
1661         Refactor WebCore/GNUMakefile.am to separate list of files
1662         https://bugs.webkit.org/show_bug.cgi?id=58116
1663
1664         This change is similar to the cooresponding to change to
1665         JavaScriptCore.  We hope to generate GNUmakefile.list.am automatically
1666         using GYP.
1667
1668         * GNUmakefile.am:
1669         * GNUmakefile.list.am: Added.
1670
1671 2011-04-07  Geoffrey Garen  <ggaren@apple.com>
1672
1673         Not reviewed.
1674
1675         Rolled out some accidentally-committed changes in my last commit.
1676
1677         * dom/EventTarget.cpp:
1678         (WebCore::EventTarget::addEventListener):
1679         (WebCore::EventTarget::removeEventListener):
1680         * dom/EventTarget.h:
1681
1682 2011-04-07  Julien Chaffraix  <jchaffraix@codeaurora.org>
1683
1684         Reviewed by Alexey Proskuryakov.
1685
1686         EventSource should only accept UTF-8 charset
1687         https://bugs.webkit.org/show_bug.cgi?id=56942
1688
1689         Following the discussion on bug 45372, this change implements the recommended
1690         way of handling "charset". We only accept UTF-8 but no other encoding. This matches
1691         the encoding of the EventSource and also may fix TomCat that automatically send this
1692         charset.
1693
1694         * page/EventSource.cpp:
1695         (WebCore::EventSource::didReceiveResponse): We now check the charset attribute and if it is
1696         not UTF-8, abort the connection and log the error to the console. Also we log if the MIME type
1697         is wrong to the console to help debugging (only in the case of an HTTP 200 response though).
1698
1699 2011-04-07  Geoffrey Garen  <ggaren@apple.com>
1700
1701         Reviewed by Maciej Stachowiak.
1702
1703         Some Handle<T> cleanup
1704         https://bugs.webkit.org/show_bug.cgi?id=58109
1705
1706         * bindings/js/ScriptValue.h:
1707         (WebCore::ScriptValue::ScriptValue): Updated for new null constructor.
1708         (WebCore::ScriptValue::hasNoValue): Updated for removal of isEmpty().
1709
1710 2011-04-07  Dominic Cooney  <dominicc@google.com>
1711
1712         Reviewed by Dimitri Glazkov.
1713
1714         Let shadow DOM have a list of nodes at the top level of a shadow.
1715         https://bugs.webkit.org/show_bug.cgi?id=57813
1716
1717         Adds ShadowRoot, a list of nodes, to be a parent for top-level
1718         shadow children. Forwards rendering through the root and into the
1719         host's renderer.
1720
1721         Covered by existing tests of elements that use this style of shadow.
1722
1723         * Android.mk: add ShadowRoot.h/cpp
1724         * CMakeLists.txt:
1725         * GNUmakefile.am:
1726         * WebCore.exp.in:
1727         * WebCore.gypi:
1728         * WebCore.pro:
1729         * WebCore.vcproj/WebCore.vcproj:
1730         * WebCore.xcodeproj/project.pbxproj:
1731         * css/CSSStyleSelector.cpp:
1732         (WebCore::CSSStyleSelector::initForStyleResolve): proxy style to host
1733         * dom/ContainerNode.cpp: parent nodes that are shadow roots are alive
1734         (WebCore::ContainerNode::insertBefore):
1735         (WebCore::ContainerNode::replaceChild):
1736         (WebCore::ContainerNode::removeChild):
1737         (WebCore::ContainerNode::appendChild):
1738         * dom/DocumentFragment.cpp:
1739         (WebCore::DocumentFragment::DocumentFragment):
1740         * dom/DocumentFragment.h:
1741         * dom/Element.cpp:
1742         (WebCore::Element::recalcStyle): look through ShadowRoots for host's style
1743         (WebCore::Element::shadowRoot): should be const
1744         (WebCore::Element::ensureShadowRoot): simpler than setShadowRoot
1745         * dom/Element.h:
1746         * dom/ElementRareData.h:
1747         * dom/Node.cpp:
1748         (WebCore::Node::parentNodeForRenderingAndStyle): indirection so
1749           ShadowRoot can forward to the host's renderer
1750         (WebCore::Node::createRendererAndStyle):
1751         (WebCore::Node::createRendererIfNeeded):
1752         * dom/Node.h:
1753         (WebCore::Node::isShadowBoundary): temporary, to differentiate
1754           old- and new-style, until all roots are ShadowRoot instances
1755         * dom/ShadowRoot.cpp: Added.
1756         (WebCore::ShadowRoot::ShadowRoot):
1757         (WebCore::ShadowRoot::recalcStyle): forward recalc to children
1758         * dom/ShadowRoot.h: Added.
1759         (WebCore::ShadowRoot::isShadowBoundary):
1760         (WebCore::ShadowRoot::create):
1761         * html/HTMLKeygenElement.cpp: use ensureShadowRoot
1762         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1763         (WebCore::HTMLKeygenElement::parseMappedAttribute):
1764         (WebCore::HTMLKeygenElement::appendFormData):
1765         (WebCore::HTMLKeygenElement::reset):
1766         (WebCore::HTMLKeygenElement::shadowSelect):
1767         * html/HTMLKeygenElement.h:
1768         * html/HTMLMeterElement.cpp: use ensureShadowRoot
1769         (WebCore::HTMLMeterElement::createShadowSubtree):
1770         * html/HTMLProgressElement.cpp: use ensureShadowRoot
1771         (WebCore::HTMLProgressElement::createShadowSubtree):
1772         * html/InputType.cpp: use ensureShadowRoot
1773         (WebCore::InputType::destroyShadowSubtree):
1774         * html/RangeInputType.cpp: use ensureShadowRoot
1775         (WebCore::RangeInputType::handleMouseDownEvent):
1776         (WebCore::RangeInputType::createShadowSubtree):
1777         (WebCore::RangeInputType::valueChanged):
1778         (WebCore::RangeInputType::shadowSliderThumb):
1779         * html/RangeInputType.h:
1780         * html/ValidationMessage.cpp: use ensureShadowRoot
1781         (WebCore::ValidationMessage::buildBubbleTree):
1782         (WebCore::ValidationMessage::deleteBubbleTree):
1783         * html/shadow/SliderThumbElement.cpp:
1784         (WebCore::SliderThumbElement::setPositionFromPoint):
1785         (WebCore::SliderThumbElement::hostInput):
1786         * html/shadow/SliderThumbElement.h:
1787         * rendering/MediaControlElements.cpp: use ensureShadowRoot
1788         (WebCore::MediaControlInputElement::attach):
1789         (WebCore::MediaControlInputElement::updateStyle):
1790         * rendering/RenderSlider.cpp: use ensureShadowRoot
1791         (WebCore::RenderSlider::thumbRect):
1792         (WebCore::RenderSlider::layout):
1793         (WebCore::RenderSlider::shadowSliderThumb):
1794         (WebCore::RenderSlider::inDragMode):
1795         * rendering/RenderSlider.h:
1796
1797 2011-04-07  Maciej Stachowiak  <mjs@apple.com>
1798
1799         Reviewed by Simon Fraser.
1800
1801         REGRESSION (r80871): Crash when visiting http://broadband.biglobe.ne.jp/
1802         https://bugs.webkit.org/show_bug.cgi?id=56297
1803         <rdar://problem/9131597>
1804
1805         Test: fast/css-generated-content/table-row-after-no-crash.html
1806
1807         * rendering/RenderTableRow.cpp:
1808         (WebCore::RenderTableRow::styleDidChange): Factor out generation of before/after
1809         content, and only do it if the row already has a parent. For construction of
1810         anonymous cells to work correctly, the row needs to already have a parent, so
1811         in that case wait a bit.
1812         (WebCore::RenderTableRow::updateBeforeAndAfterContent): Factored out to here.
1813         * rendering/RenderTableRow.h:
1814         * rendering/RenderTableSection.cpp:
1815         (WebCore::RenderTableSection::addChild): When adding a row, update its
1816         before/after content, in case it had any.
1817
1818 2011-04-07  Beth Dakin  <bdakin@apple.com>
1819
1820         Reviewed by Simon Fraser.
1821
1822         Probable fix for <rdar://problem/9251443>  Crashing on exception: -
1823         [ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]: unrecognized 
1824         selector sent to instance ADDRESS.
1825
1826        Need to implement new delegate method.
1827         * platform/mac/ScrollAnimatorMac.mm:
1828         (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
1829
1830 2011-04-07  Ian Henderson  <ianh@apple.com>
1831
1832         Reviewed by Simon Fraser.
1833
1834         Optimize filling rounded rects that are actually ellipses
1835         https://bugs.webkit.org/show_bug.cgi?id=58098
1836
1837         In CG, drawing an ellipse directly is faster than constructing and
1838         filling a rounded rect path.  Detect when the given rounded rect is
1839         actually an ellipse and draw it directly in this case.
1840
1841         * platform/graphics/cg/GraphicsContextCG.cpp:
1842         (WebCore::GraphicsContext::fillRoundedRect):
1843
1844 2011-04-07  Ned Holbrook  <nholbrook@apple.com>
1845
1846         Reviewed by Dan Bernstein.
1847
1848         CTLine objects should outlive their CTRuns
1849         https://bugs.webkit.org/show_bug.cgi?id=58063
1850
1851         * platform/graphics/mac/ComplexTextController.h: Add m_coreTextLines, to be destroyed after m_complexTextRuns.
1852         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1853         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moot m_coreTextRun.
1854         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Append line to m_coreTextLines.
1855
1856 2011-04-07  Nat Duca  <nduca@chromium.org>
1857
1858         Reviewed by David Levin.
1859
1860         [chromium] Compositor thread infrastructure
1861         https://bugs.webkit.org/show_bug.cgi?id=56131
1862
1863         Introduce chrome compositor thread and related
1864         infrastructure.
1865
1866         * WebCore.gypi:
1867         * platform/graphics/chromium/cc/CCMainThread.cpp: Added.
1868         (WebCore::CCMainThread::performTask):
1869         (WebCore::CCMainThread::postTask):
1870         * platform/graphics/chromium/cc/CCMainThread.h: Added.
1871         (WebCore::CCMainThread::Task::~Task):
1872         (WebCore::CCMainThread::Task::instance):
1873         (WebCore::CCMainThread::Task::Task):
1874         * platform/graphics/chromium/cc/CCMainThreadTask.h: Added.
1875         (WebCore::MainThreadTask0::create):
1876         (WebCore::MainThreadTask0::MainThreadTask0):
1877         (WebCore::MainThreadTask0::performTask):
1878         (WebCore::MainThreadTask1::create):
1879         (WebCore::MainThreadTask1::MainThreadTask1):
1880         (WebCore::MainThreadTask1::performTask):
1881         (WebCore::MainThreadTask2::create):
1882         (WebCore::MainThreadTask2::MainThreadTask2):
1883         (WebCore::MainThreadTask2::performTask):
1884         (WebCore::MainThreadTask3::create):
1885         (WebCore::MainThreadTask3::MainThreadTask3):
1886         (WebCore::MainThreadTask3::performTask):
1887         (WebCore::createMainThreadTask):
1888         * platform/graphics/chromium/cc/CCThread.cpp: Added.
1889         (WebCore::CCThread::create):
1890         (WebCore::CCThread::CCThread):
1891         (WebCore::CCThread::~CCThread):
1892         (WebCore::CCThread::postTask):
1893         (WebCore::CCThread::compositorThreadStart):
1894         (WebCore::CCThread::runLoop):
1895         * platform/graphics/chromium/cc/CCThread.h: Added.
1896         (WebCore::CCThread::Task::~Task):
1897         (WebCore::CCThread::Task::instance):
1898         (WebCore::CCThread::Task::Task):
1899         (WebCore::CCThread::threadID):
1900         (WebCore::CCCompletionEvent::CCCompletionEvent):
1901         (WebCore::CCCompletionEvent::~CCCompletionEvent):
1902         (WebCore::CCCompletionEvent::wait):
1903         (WebCore::CCCompletionEvent::signal):
1904         * platform/graphics/chromium/cc/CCThreadTask.h: Added.
1905         (WebCore::CCThreadTask0::create):
1906         (WebCore::CCThreadTask0::CCThreadTask0):
1907         (WebCore::CCThreadTask0::performTask):
1908         (WebCore::CCThreadTask1::create):
1909         (WebCore::CCThreadTask1::CCThreadTask1):
1910         (WebCore::CCThreadTask1::performTask):
1911         (WebCore::CCThreadTask2::create):
1912         (WebCore::CCThreadTask2::CCThreadTask2):
1913         (WebCore::CCThreadTask2::performTask):
1914         (WebCore::CCThreadTask3::create):
1915         (WebCore::CCThreadTask3::CCThreadTask3):
1916         (WebCore::CCThreadTask3::performTask):
1917         (WebCore::createCCThreadTask):
1918
1919 2011-04-07  Ryosuke Niwa  <rniwa@webkit.org>
1920
1921         Reviewed by Eric Seidel.
1922
1923         REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
1924         https://bugs.webkit.org/show_bug.cgi?id=57872
1925
1926         r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
1927         because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
1928
1929         r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
1930         avoiding the tab span.
1931
1932         Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
1933         Also reverted r46914 for the general code path because re-creating node hierarchy duplicates nodes when
1934         we're moving nodes after the paragraph separator. Instead, we now split the tree up until the start block
1935         before moving the nodes.
1936
1937         Tests: editing/inserting/insert-paragraph-after-tab-span-and-text.html
1938                editing/inserting/insert-paragraph-separator-tab-span.html
1939
1940         * editing/DeleteSelectionCommand.cpp:
1941         (WebCore::DeleteSelectionCommand::saveTypingStyleState): Since EditingStyle's constructor avoids a tab span,
1942         no longer calls positionBeforeTabSpan on the position passed to EditingStyle's constructor.
1943         * editing/EditingStyle.cpp:
1944         (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
1945         * editing/InsertParagraphSeparatorCommand.cpp:
1946         (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
1947         separator into a paragraph separator.
1948         * editing/htmlediting.cpp:
1949         (WebCore::positionOutsideTabSpan): Renamed from positionBeforeTabSpan. Also returns the position in the parent
1950         node after the tab span if the position was at the end of the tab span.
1951         * editing/htmlediting.h:
1952
1953 2011-04-07  Jia Pu  <jpu@apple.com>
1954
1955         Reviewed by Darin Adler.
1956
1957         [Mac] Editor::setComposition() should not trigger correction panel timer.
1958         https://bugs.webkit.org/show_bug.cgi?id=58049
1959          <rdar://problem/9226305>
1960
1961         On Mac OS X that supports autocorrection panel, typing unconfirmed composition (i.e. unconfirmed Japanese or Chinese input)
1962         should not start autocorrection timer. We added a member variable, m_shouldPreventSpellChecking, to TypingCommand. 
1963         When this value is true, markMisspellingsAfterTyping() will not be called in TypingCommand::typingAddedToOpenCommand().
1964         m_shouldPreventSpellChecking is set to true in the TypingCommand objects created by Editor::setComposition().
1965
1966         No new tests. No deterministically reproducible test case. Patch is based on static code analysis. Testing this also requires firing
1967         autocorrection panel timer, which can not be easily done in automated fashion.
1968
1969         * editing/Editor.cpp:
1970         (WebCore::Editor::deleteWithDirection):
1971         (WebCore::Editor::insertTextWithoutSendingTextEvent):
1972         (WebCore::Editor::confirmComposition):
1973         (WebCore::Editor::setComposition):
1974         * editing/EditorCommand.cpp:
1975         (WebCore::executeDelete):
1976         * editing/TypingCommand.cpp:
1977         (WebCore::TypingCommand::TypingCommand):
1978         (WebCore::TypingCommand::deleteSelection):
1979         (WebCore::TypingCommand::deleteKeyPressed):
1980         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1981         (WebCore::TypingCommand::insertText):
1982         (WebCore::TypingCommand::insertLineBreak):
1983         (WebCore::TypingCommand::insertParagraphSeparator):
1984         (WebCore::TypingCommand::typingAddedToOpenCommand):
1985         * editing/TypingCommand.h:
1986         (WebCore::TypingCommand::create):
1987         (WebCore::TypingCommand::setShouldPreventSpellChecking):
1988
1989 2011-04-07  John Bauman  <jbauman@chromium.org>
1990
1991         Reviewed by Kenneth Russell.
1992
1993         clearIfComposited call is really slow
1994         https://bugs.webkit.org/show_bug.cgi?id=57999
1995
1996         Move getContextAttributes call after the if, so it isn't called nearly as often.
1997
1998         No new tests.
1999
2000         * html/canvas/WebGLRenderingContext.cpp:
2001         (WebCore::WebGLRenderingContext::clearIfComposited):
2002
2003 2011-04-07  Luke Macpherson   <macpherson@chromium.org>
2004
2005         Reviewed by Dimitri Glazkov.
2006
2007         Implement Backgroun and Mask properties in CSSStyleApplyProperty
2008         https://bugs.webkit.org/show_bug.cgi?id=57922
2009
2010         No tests added as no behavioral changes.
2011
2012         * css/CSSStyleApplyProperty.cpp:
2013         Added ApplyPropertyFillLayer test to handle Background and Mask CSS Properties.
2014         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2015         Added constructor calls to set up:
2016           CSSPropertyBackgroundAttachment
2017           CSSPropertyBackgroundClip
2018           CSSPropertyWebkitBackgroundClip
2019           CSSPropertyWebkitBackgroundComposite
2020           CSSPropertyBackgroundOrigin
2021           CSSPropertyWebkitBackgroundOrigin
2022           CSSPropertyBackgroundSize
2023           CSSPropertyWebkitBackgroundSize
2024           CSSPropertyWebkitMaskAttachment
2025           CSSPropertyWebkitMaskClip
2026           CSSPropertyWebkitMaskComposite
2027           CSSPropertyWebkitMaskOrigin
2028           CSSPropertyWebkitMaskSize
2029         * css/CSSStyleApplyProperty.h:
2030         (WebCore::CSSStyleApplyProperty::setPropertyValue):
2031         Add function to specify an equivalent property value in the lookup table.
2032         * css/CSSStyleSelector.cpp:
2033         (WebCore::CSSStyleSelector::applyProperty):
2034         Remove sections now implemented by CSSStyleApplyProperty.
2035         * css/CSSStyleSelector.h:
2036         Make CSSStyleApplyProperty a friend class so that the mapFill* functions are accessible.
2037
2038 2011-04-04  Eric Seidel  <eric@webkit.org>
2039
2040         Reviewed by Ryosuke Niwa.
2041
2042         Split run storage out from BidiResolver into a new BidiRunList class
2043         https://bugs.webkit.org/show_bug.cgi?id=57764
2044
2045         Part of what makes BidiResolver and InlineIterator so difficult to understand
2046         (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine
2047         for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting
2048         BidiRuns from the algorithm.  This patch breaks the storage aspect off
2049         into its own class BidiRunList.
2050
2051         This patch is only a start.  It does not actually fix the problematic ownership
2052         relationship, but it does make it possible to fix such in a second patch.
2053
2054         The run pointers and addRun/prependRun, etc. were already a tightly coupled
2055         logical subset of the BidiResolver class, so moving them into their own class
2056         was both obvious and easy.  The only piece of logic I had to move was that
2057         deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver.
2058
2059         I believe this deleteRuns side-effect was only ever used for one place
2060         (right after findNextLineBreak) and that it's only needed because
2061         findNextLineBreak can sometimes create bidi runs.  Run creation appears to be
2062         an unintentional side-effect of how InlineIterator calls through to BidiResolver
2063         as part of bidiNext and not a desired effect of the code.  I have added the call
2064         to markCurrentRunEmpty to both places deleteRuns was called (where the resolver
2065         could get re-used) as a safety precaution.  We could replace both with ASSERTs
2066         in a later patch.
2067
2068         I suspect there may be a small performance win from further refactoring so that
2069         findNextLineBreak does not need to create BidiRuns.
2070
2071         As I commented in the code, callers should own their own BidiRunList which they
2072         pass to BidiResolver::createBidiRunsForLine.  I attempted to implement that in
2073         an earlier version of this patch, but it was too complicated with the current
2074         twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver.
2075         raise/lowerExplicitEmbeddingLevel are called unconditionally
2076         from commitExplicitEmbedding (which is called by bidiNext) and expect to have
2077         access to a runs list even in cases where we don't want any runs (findNextLineBreak).
2078
2079         I also cleaned up some of the callers to pass around BidiRunList objects instead
2080         of InlineBidiResolvers now that they're separate objects.
2081
2082         * GNUmakefile.am:
2083         * WebCore.gypi:
2084         * WebCore.pro:
2085         * WebCore.vcproj/WebCore.vcproj:
2086         * WebCore.xcodeproj/project.pbxproj:
2087         * platform/graphics/GraphicsContext.cpp:
2088         (WebCore::GraphicsContext::drawBidiText):
2089         * platform/text/BidiResolver.h:
2090         (WebCore::BidiResolver::BidiResolver):
2091         (WebCore::BidiResolver::runs):
2092         (WebCore::BidiResolver::markCurrentRunEmpty):
2093         (WebCore::::appendRun):
2094         (WebCore::::lowerExplicitEmbeddingLevel):
2095         (WebCore::::raiseExplicitEmbeddingLevel):
2096         (WebCore::::reorderRunsFromLevels):
2097         (WebCore::::createBidiRunsForLine):
2098         * rendering/InlineIterator.h:
2099         (WebCore::InlineBidiResolver::appendRun):
2100         * rendering/RenderBlock.h:
2101         * rendering/RenderBlockLineLayout.cpp:
2102         (WebCore::createRun):
2103         (WebCore::RenderBlock::appendRunsForObject):
2104         (WebCore::reachedEndOfTextRenderer):
2105         (WebCore::RenderBlock::handleTrailingSpaces):
2106         (WebCore::RenderBlock::layoutInlineChildren):
2107
2108 2011-04-07  Naoki Takano  <takano.naoki@gmail.com>
2109
2110         Reviewed by Adam Barth.
2111
2112         [Chromium] Fix relocation problem of popup window which introduces autofill popup sometimes moves to screen's top left corner.
2113         https://bugs.webkit.org/show_bug.cgi?id=57911
2114         http://code.google.com/p/chromium/issues/detail?id=78073
2115
2116         Manual test added: manual-tests/autofill-popup-location.html
2117
2118         Originally only height is checked so that it introduces the bug.
2119         So I changed it to check both width and height as size.
2120
2121         * manual-tests/autofill-popup-location.html: Added.
2122         * platform/chromium/PopupMenuChromium.cpp:
2123         (WebCore::PopupContainer::refresh): Check window size between original and new before calling setFrameRect().
2124
2125 2011-04-07  Adam Barth  <abarth@webkit.org>
2126
2127         Reviewed by Eric Seidel.
2128
2129         Implement img-src style-src and font-src
2130         https://bugs.webkit.org/show_bug.cgi?id=58018
2131
2132         These are pretty straight forward given the rest of the infrastructure
2133         we've built so far.
2134
2135         Tests: http/tests/security/contentSecurityPolicy/image-allowed.html
2136                http/tests/security/contentSecurityPolicy/image-blocked.html
2137                http/tests/security/contentSecurityPolicy/style-allowed.html
2138                http/tests/security/contentSecurityPolicy/style-blocked.html
2139                http/tests/security/contentSecurityPolicy/xsl-allowed.php
2140                http/tests/security/contentSecurityPolicy/xsl-blocked.php
2141
2142         * loader/cache/CachedResourceLoader.cpp:
2143         (WebCore::CachedResourceLoader::canRequest):
2144         * page/ContentSecurityPolicy.cpp:
2145         (WebCore::ContentSecurityPolicy::allowImageFromSource):
2146         (WebCore::ContentSecurityPolicy::allowStyleFromSource):
2147         (WebCore::ContentSecurityPolicy::allowFontFromSource):
2148         (WebCore::ContentSecurityPolicy::addDirective):
2149         * page/ContentSecurityPolicy.h:
2150
2151 2011-04-07  David Levin  <levin@chromium.org>
2152
2153         Reviewed by Darin Adler.
2154
2155         Make IconSnapshot and PageURLRecord member variables private.
2156         https://bugs.webkit.org/show_bug.cgi?id=58080
2157
2158         No change in functionality so no new tests.
2159
2160         * loader/icon/IconDatabase.cpp:
2161         (WebCore::IconDatabase::writeToDatabase): Changed to used the accessor functions.
2162         (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): Ditto.
2163         * loader/icon/IconRecord.h:
2164         (WebCore::IconSnapshot::IconSnapshot): Changed to use the new member variable names.
2165         (WebCore::IconSnapshot::iconURL): Expose the property.
2166         (WebCore::IconSnapshot::timestamp): Ditto.
2167         (WebCore::IconSnapshot::data): Ditto.
2168         * loader/icon/PageURLRecord.h:
2169         (WebCore::PageURLSnapshot::PageURLSnapshot): Changed to use the new member variable names.
2170         (WebCore::PageURLSnapshot::pageURL): Expose the property.
2171         (WebCore::PageURLSnapshot::iconURL): Ditto.
2172
2173 2011-04-07  Dan Bernstein  <mitz@apple.com>
2174
2175         Build fix.
2176
2177         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2178         (WebCore::GraphicsContext::roundToDevicePixels):
2179
2180 2011-04-07  Eric Seidel  <eric@webkit.org>
2181
2182         Reviewed by Adam Barth.
2183
2184         Add stub support for generating Gtk build system from gyp
2185         https://bugs.webkit.org/show_bug.cgi?id=58086
2186
2187         This does not produce a buildable WebCore, but it
2188         does allow running gyp/configure --port=gtk and having
2189         it generate a gtk.Makefile which we can use for testing
2190         the rest of the plumbing.
2191
2192         * gyp/gtk.gyp: Added.
2193
2194 2011-04-07  David Hyatt  <hyatt@apple.com>
2195
2196         Reviewed by Dan Bernstein.
2197
2198         https://bugs.webkit.org/show_bug.cgi?id=57736
2199         
2200         Crash on openstreetmap.org while using the map. Fix a bad interaction between the positioned movement layout
2201         optimization and the simplified layout optimization that could lead to blocks remaining marked as dirty when
2202         layout finished. This would eventually lead to an inability to properly determine the correct layout root and
2203         would cause a deleted root to be used later on.
2204
2205         Added fast/block/positioning/complex-positioned-movement.html.
2206
2207         * page/FrameView.cpp:
2208         (WebCore::FrameView::scheduleRelayoutOfSubtree):
2209         Add asserts to catch cases in the future where a layout root is set that has a dirty containing block.
2210     
2211         * rendering/RenderBlock.cpp:
2212         (WebCore::RenderBlock::simplifiedLayout):
2213         Change simplified layout so that the positioned movement optimization no longer clears the other layout
2214         flags. This will ensure that we still lay out our descendants if they need it.
2215         
2216         (WebCore::RenderBlock::layoutPositionedObjects):
2217         Changed to clear our layout flags now if the positioned movement is successful, since tryLayoutDoingPositionedMovementOnly
2218         no longer does the clear.
2219     
2220         * rendering/RenderBox.h:
2221         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
2222         tryLayoutDoingPositionedMovementOnly now returns a boolean indicating success or failure.  On success it no longer
2223         does setNeedsLayout(false), but instead will let the caller take care of it. This way the caller can still look at
2224         the other flags in case other kinds of layout are still needed.
2225     
2226         * rendering/RenderObject.h:
2227         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
2228         (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
2229         Changed these methods to only set their respective flags and not to try to be clever about avoiding propagation.
2230
2231 2011-04-07  Andrew Scherkus  <scherkus@chromium.org>
2232
2233         Revert ENABLE_TRACK patch due to compile failures.
2234
2235         * CMakeLists.txt:
2236         * Configurations/FeatureDefines.xcconfig:
2237         * DerivedSources.make:
2238         * GNUmakefile.am:
2239         * WebCore.gypi:
2240         * WebCore.xcodeproj/project.pbxproj:
2241         * features.pri:
2242         * html/HTMLAttributeNames.in:
2243         * html/HTMLTagNames.in:
2244         * html/HTMLTrackElement.cpp: Removed.
2245         * html/HTMLTrackElement.h: Removed.
2246         * html/HTMLTrackElement.idl: Removed.
2247
2248 2011-04-07  Dan Bernstein  <mitz@apple.com>
2249
2250         Reviewed by Simon Fraser.
2251
2252         <rdar://problem/9018212> Underline thickness is not uniform under non-integral scale factor
2253         https://bugs.webkit.org/show_bug.cgi?id=58083
2254
2255         Test: fast/text/decorations-transformed.html
2256
2257         * platform/graphics/GraphicsContext.h: Added a RoundingMode enum with two values. RoundAllSides
2258         is the existing rounding mode, where each side of the rectangle snaps to the nearest pixel
2259         gridline. RoundOriginAndDimensions snaps the origin to the nearest pixel gridpoint and rounds
2260         the width and the height. In this new mode, translating a rectangle in user space never changes
2261         its dimensions in device pixels.
2262         * platform/graphics/cg/GraphicsContextCG.cpp:
2263         (WebCore::GraphicsContext::roundToDevicePixels): Implemented RoundOriginAndDimensions.
2264         (WebCore::GraphicsContext::drawLineForText): Use RoundOriginAndDimensions, thus ensuring that
2265         all underlines have the same thickness in device pixels.
2266         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2267         (WebCore::GraphicsContext::roundToDevicePixels): Added RoundingMode parameter, but did not implement it.
2268         * platform/graphics/qt/GraphicsContextQt.cpp:
2269         (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
2270         * platform/graphics/skia/GraphicsContextSkia.cpp:
2271         (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
2272         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2273         (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
2274         * platform/graphics/wx/GraphicsContextWx.cpp:
2275         (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
2276         * rendering/InlineTextBox.cpp:
2277         (WebCore::InlineTextBox::paintDecoration):
2278
2279 2011-04-06  Vitaly Repeshko  <vitalyr@chromium.org>
2280
2281         Reviewed by Nate Chapin.
2282
2283         [V8] Remove custom DOMImplementation getter on Document.
2284         https://bugs.webkit.org/show_bug.cgi?id=57991
2285
2286         The custom getter is no longer required because DOMImplementation
2287         objects are now created per document.
2288
2289         Test: fast/dom/DOMImplementation/implementation-identity.html
2290
2291         * bindings/scripts/CodeGeneratorV8.pm:
2292         * bindings/v8/custom/V8DocumentCustom.cpp:
2293         * dom/Document.idl:
2294
2295 2011-04-07  Sergey Glazunov  <serg.glazunov@gmail.com>
2296
2297         Reviewed by Dimitri Glazkov.
2298
2299         setHasID() is only called for styled elements
2300         https://bugs.webkit.org/show_bug.cgi?id=57267
2301
2302         Test: fast/dom/non-styled-element-id-crash.html
2303
2304         * dom/Element.cpp:
2305         (WebCore::Element::attributeChanged):
2306         (WebCore::Element::idAttributeChanged):
2307         * dom/Element.h:
2308         * dom/StyledElement.cpp:
2309         (WebCore::StyledElement::parseMappedAttribute):
2310
2311 2011-04-07  Jer Noble  <jer.noble@apple.com>
2312
2313         Reviewed by Eric Carlson.
2314
2315         HTMLVideoElement::webkitEnterFullscreen does not use new Full Screen API when available.
2316         https://bugs.webkit.org/show_bug.cgi?id=58070
2317
2318         Make the HTMLMediaElement full screen functions call into the new Full Screen API when
2319         FULLSCREEN_API is enabled.
2320
2321         * html/HTMLMediaElement.cpp:
2322         (WebCore::HTMLMediaElement::enterFullscreen):
2323         (WebCore::HTMLMediaElement::exitFullscreen):
2324
2325 2011-04-07  Adam Barth  <abarth@webkit.org>
2326
2327         Reviewed by Eric Seidel.
2328
2329         Implement CSP's options directive
2330         https://bugs.webkit.org/show_bug.cgi?id=58014
2331
2332         This patch contains the full options parser, but we only have enough of
2333         CSP implemented to see the effects of disable-xss-protection.  Will
2334         need to do some more work before we can see eval-script in action.
2335
2336         Tests: http/tests/security/contentSecurityPolicy/inline-script-allowed.html
2337                http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy.html
2338
2339         * page/ContentSecurityPolicy.cpp:
2340         (WebCore::CSPOptions::CSPOptions):
2341         (WebCore::CSPOptions::disableXSSProtection):
2342         (WebCore::CSPOptions::evalScript):
2343         (WebCore::CSPOptions::parse):
2344         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
2345         (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
2346         (WebCore::ContentSecurityPolicy::allowInlineScript):
2347         (WebCore::ContentSecurityPolicy::addDirective):
2348         * page/ContentSecurityPolicy.h:
2349
2350 2011-04-07  Alexey Proskuryakov  <ap@apple.com>
2351
2352         Reviewed by Anders Carlsson.
2353
2354         REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
2355         https://bugs.webkit.org/show_bug.cgi?id=58066
2356         <rdar://problem/8965302>
2357
2358         * platform/mac/HTMLConverter.h:
2359         * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):
2360         Changed editingAttributedStringFromRange: to use WebCore::Range instead of DOMRange, since
2361         it's now used in WebKit2.
2362
2363 2011-04-07  Andy Estes  <aestes@apple.com>
2364
2365         Reviewed by Darin Adler.
2366
2367         REGRESSION (r64712): Microsoft Outlook 2011: original message contents
2368         not included when replying to an email.
2369         https://bugs.webkit.org/show_bug.cgi?id=57794
2370         
2371         * WebCore.exp.in:
2372         * loader/FrameLoader.cpp:
2373         (WebCore::FrameLoader::finishedParsing): Call Frame::injectUserScripts()
2374         before checking if the FrameLoader is parsing the initial empty document.
2375         This allows user scripts to be injected at the end of document parsing
2376         (if the setting is enabled).
2377         * page/Frame.cpp:
2378         (WebCore::Frame::injectUserScripts): Do not inject scripts if this
2379         feature is disabled on the initial empty document.
2380         * page/Settings.cpp:
2381         (WebCore::Settings::Settings):
2382         * page/Settings.h: Add a setting for injecting user scripts into the
2383         initial empty document (defaults to false).
2384         (WebCore::Settings::setInjectUserScriptsInInitialEmptyDocument):
2385         (WebCore::Settings::injectUserScriptsInInitialEmptyDocument):
2386         * platform/mac/RuntimeApplicationChecks.h:
2387         * platform/mac/RuntimeApplicationChecks.mm:
2388         (WebCore::applicationIsMicrosoftOutlook): Check if the embedding
2389         application is Microsoft Outlook.
2390
2391 2011-04-06  Jer Noble  <jer.noble@apple.com>
2392
2393         Reviewed by Maciej Stachowiak.
2394
2395         AVF: MediaPlayerPrivateAVFoundation never reaches playable state.
2396         https://bugs.webkit.org/show_bug.cgi?id=57962
2397
2398         Add support for a new AVPlayerItem API which will notify clients when their
2399         seek completes.  This requires a new Notification type to be passed to the main
2400         thread in MediaPlayerPrivateAVFoundation.
2401
2402         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2403         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Added.
2404         (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification): Added two new
2405             overloaded functions which take a Notification; and a Notification::Type and boolean.
2406         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Support new SeekCompleted 
2407             Notification type.
2408         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2409         (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification): Added one new constructor.
2410         (WebCore::MediaPlayerPrivateAVFoundation::Notification::finished): Added ivar and accessor.
2411         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
2412         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Call new AVPlayerItem API.
2413         (-[WebCoreAVFMovieObserver seekCompleted:]): Added.
2414
2415 2011-04-07  Nancy Piedra  <nancy.piedra@nokia.com>
2416
2417         Reviewed by Eric Carlson.
2418
2419         Parse quotes from content type parameters
2420         https://bugs.webkit.org/show_bug.cgi?id=53275
2421
2422         This functionality is tested in video-can-play-type.html layout test
2423         where I've added codecs parameter with good and bad formatting.
2424
2425         * platform/ContentType.cpp:
2426         (WebCore::ContentType::parameter):
2427
2428 2011-04-07  Pavel Feldman  <pfeldman@google.com>
2429
2430         Reviewed by Yury Semikhatsky.
2431
2432         Web Inspector: remove "enabled" from the setBreakpoint protocol.
2433         https://bugs.webkit.org/show_bug.cgi?id=58047
2434
2435         * bindings/js/ScriptDebugServer.cpp:
2436         (WebCore::ScriptDebugServer::hasBreakpoint):
2437         * bindings/v8/DebuggerScript.js:
2438         ():
2439         * bindings/v8/ScriptDebugServer.cpp:
2440         (WebCore::ScriptDebugServer::setBreakpoint):
2441         * inspector/Inspector.json:
2442         * inspector/InspectorDebuggerAgent.cpp:
2443         (WebCore::buildObjectForBreakpointCookie):
2444         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2445         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2446         (WebCore::InspectorDebuggerAgent::continueToLocation):
2447         (WebCore::InspectorDebuggerAgent::didParseSource):
2448         * inspector/InspectorDebuggerAgent.h:
2449         * inspector/ScriptBreakpoint.h:
2450         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
2451         * inspector/front-end/DebuggerModel.js:
2452         (WebInspector.DebuggerModel.prototype.setBreakpoint):
2453         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2454         * inspector/front-end/DebuggerPresentationModel.js:
2455         (WebInspector.DebuggerPresentationModel):
2456         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2457         (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
2458         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.callback):
2459         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
2460         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
2461         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
2462         (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
2463         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled.afterUpdate):
2464         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
2465         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
2466         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
2467         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
2468         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2469         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
2470         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
2471         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings):
2472         (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
2473         (WebInspector.DebuggerPresentationModel.prototype._reset):
2474         (WebInspector.PresentationBreakpoint):
2475
2476 2011-04-07  Dan Bernstein  <mitz@apple.com>
2477
2478         Reviewed by Adam Roben.
2479
2480         Removed a redundant line of code.
2481
2482         * rendering/RenderInline.cpp:
2483         (WebCore::RenderInline::updateAlwaysCreateLineBoxes): No need to compare line gap values, as
2484         this is covered by the earlier hasIdenticalAscentDescentAndLineGap() check.
2485
2486 2011-04-07  Liang Qi  <liang.qi@nokia.com>
2487
2488         Reviewed by Laszlo Gombos.
2489
2490         [Qt][Symbian] Enable webkit build with GCCE on Symbian.
2491         https://bugs.webkit.org/show_bug.cgi?id=57841
2492
2493         * WebCore.pri: Thanks for Norbert Leser  <norbert.leser@nokia.com> who checked RVCT part.
2494         --rw-base value in QMAKE_LFLAGS.ARMCC and -Tdata value in QMAKE_LFLAGS.GCCE are updated
2495         to 0x1000000 together. They need to be updated in the future when WebKit grows.
2496
2497 2011-04-06  Pavel Feldman  <pfeldman@google.com>
2498
2499         Reviewed by Yury Semikhatsky.
2500
2501         Web Inspector: get rid of Breakpoint.js.
2502         https://bugs.webkit.org/show_bug.cgi?id=57949
2503
2504         * WebCore.gypi:
2505         * WebCore.vcproj/WebCore.vcproj:
2506         * inspector/front-end/Breakpoint.js: Removed.
2507         * inspector/front-end/BreakpointsSidebarPane.js:
2508         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
2509         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint.didLoadSnippet):
2510         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint):
2511         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
2512         * inspector/front-end/DebuggerModel.js:
2513         (WebInspector.DebuggerModel):
2514         (WebInspector.DebuggerModel.prototype._debuggerWasDisabled):
2515         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
2516         (WebInspector.DebuggerModel.prototype.setBreakpoint):
2517         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2518         (WebInspector.DebuggerModel.prototype.removeBreakpoint):
2519         (WebInspector.DebuggerModel.prototype._breakpointResolved):
2520         (WebInspector.DebuggerModel.prototype.reset):
2521         * inspector/front-end/DebuggerPresentationModel.js:
2522         (WebInspector.DebuggerPresentationModel):
2523         (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints):
2524         (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
2525         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2526         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didSetBreakpoint):
2527         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
2528         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
2529         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
2530         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
2531         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
2532         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2533         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
2534         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
2535         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2536         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoint):
2537         (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
2538         (WebInspector.DebuggerPresentationModel.prototype._reset):
2539         (WebInspector.PresentationBreakpoint):
2540         (WebInspector.PresentationBreakpoint.prototype.get sourceFile):
2541         (WebInspector.PresentationBreakpoint.prototype.get url):
2542         (WebInspector.PresentationBreakpoint.prototype.get resolved):
2543         (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
2544         * inspector/front-end/ResourceTreeModel.js:
2545         (WebInspector.ResourceTreeModel):
2546         (WebInspector.ResourceTreeModel.prototype._onResourceStarted):
2547         (WebInspector.ResourceTreeModel.prototype._addResourceToFrame):
2548         * inspector/front-end/ScriptsPanel.js:
2549         (WebInspector.ScriptsPanel):
2550         (WebInspector.ScriptsPanel.prototype._breakpointUpdated):
2551         (WebInspector.ScriptsPanel.prototype.reset):
2552         * inspector/front-end/WebKit.qrc:
2553         * inspector/front-end/inspector.html:
2554
2555 2011-04-07  Yury Semikhatsky  <yurys@chromium.org>
2556
2557         Reviewed by Pavel Feldman.
2558
2559         Web Inspector: console messages names should adhere to the common naming style
2560         https://bugs.webkit.org/show_bug.cgi?id=58042
2561
2562         * inspector/ConsoleMessage.cpp:
2563         (WebCore::ConsoleMessage::addToFrontend):
2564         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
2565         * inspector/Inspector.json:
2566         * inspector/InspectorConsoleAgent.cpp:
2567         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
2568         * inspector/front-end/ConsoleView.js:
2569         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
2570         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
2571         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messagesCleared):
2572         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
2573
2574 2011-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
2575
2576         Reviewed by Yury Semikhatsky.
2577
2578         Web Inspector: migrate Inspector protocol messages format to JSON-RPC.
2579         https://bugs.webkit.org/show_bug.cgi?id=57957
2580
2581         There is not a significant difference between  inspector messages spec and and JSON-RPC 2.0 messages spec.
2582         Also JSON-RPC has a pretty clear specification for error descriptions which we haven't.
2583         It was decided that we will use it.
2584
2585         the list of renames:
2586         1) type-> /dev/null
2587         2) domain + '.' + event => method // for events
2588         3) domain + '.' + command => method // for requests
2589         4) requestId => id // for responses
2590         5) arguments => params // for requests
2591         6) data => params // for events
2592         7) body => result // for responses
2593
2594         protocolErrors and error properties will be converted to JSON-RPC error format.
2595         The order of properties in messages also will be adjusted.
2596         The only thing that looks unnecessary is jsonrpc property.
2597
2598         * inspector/CodeGeneratorInspector.pm:
2599
2600 2011-04-07  Ryosuke Niwa  <rniwa@webkit.org>
2601
2602         Reviewed by Eric Seidel.
2603
2604         Add functions to update left and right offsets to LineOffsets
2605         https://bugs.webkit.org/show_bug.cgi?id=58028
2606
2607         Added update() and shrinkWidthForNewFloatIfNeeded(FloatingObject*) to LineOffsets,
2608         which are used to update m_left and m_right. Also added m_block and m_isFirstLine
2609         member variables to LineOffsets so that users of LineOffsets don't have to pass them around.
2610
2611         * rendering/RenderBlock.h:
2612         * rendering/RenderBlockLineLayout.cpp:
2613         (WebCore::RenderBlock::skipLeadingWhitespace): No longer passes firstLine to positionNewFloatOnLine.
2614         (WebCore::LineOffsets::LineOffsets): Takes RenderBlock* and isFirstLine instead of left and right offsets.
2615         (WebCore::LineOffsets::update): Extracted from findNextLineBreak and positionNewFloatOnLine.
2616         (WebCore::LineOffsets::shrinkWidthForNewFloatIfNeeded): Extracted from positionNewFloatOnLine.
2617         (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
2618         (WebCore::RenderBlock::positionNewFloatOnLine): Calls shrinkWidthForNewFloatIfNeeded and update and
2619         no longer passes firstLine around.
2620
2621 2011-04-06  Pavel Feldman  <pfeldman@google.com>
2622
2623         Reviewed by Yury Semikhatsky.
2624
2625         Web Inspector: migrate debugger domain to the unified breakpoint location notion.
2626         https://bugs.webkit.org/show_bug.cgi?id=57928
2627
2628         * inspector/Inspector.json:
2629         * inspector/InspectorDebuggerAgent.cpp:
2630         (WebCore::buildObjectForBreakpointCookie):
2631         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2632         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2633         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2634         (WebCore::InspectorDebuggerAgent::didParseSource):
2635         * inspector/InspectorDebuggerAgent.h:
2636         * inspector/front-end/Breakpoint.js:
2637         (WebInspector.Breakpoint):
2638         * inspector/front-end/DebuggerModel.js:
2639         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2640         (WebInspector.DebuggerModel.prototype._breakpointResolved):
2641
2642 2011-04-07  Andreas Kling  <andreas.kling@nokia.com>
2643
2644         Reviewed by Benjamin Poulain.
2645
2646         [Qt] Mask the QStyle::State_Horizontal hint for vertical scrollbars.
2647
2648         When initializing a QStyleOptionSlider from a widget, the State_Horizontal
2649         hint may get set depending on how that widget is laid out in its parent.
2650         If this happens when drawing a vertical scrollbar, the hint is never
2651         cleared and we end up painting a vertical scrollbar with horizontal arrows.
2652
2653         Covered by pixel tests which should no longer paint silly scrollbars.
2654
2655         * platform/qt/ScrollbarThemeQt.cpp:
2656         (WebCore::styleOptionSlider):
2657
2658 2011-04-07  Adam Barth  <abarth@webkit.org>
2659
2660         Reviewed by Eric Seidel.
2661
2662         script-src should block inline script
2663         https://bugs.webkit.org/show_bug.cgi?id=58012
2664
2665         Block inline scripts at the ScriptElement layer.  This should catch
2666         exactly the scripts we want to catch.
2667
2668         Test: http/tests/security/contentSecurityPolicy/inline-script-blocked.html
2669
2670         * dom/Document.cpp:
2671         (WebCore::Document::processHttpEquiv):
2672             - This patch also adds the ability to supply a CSP policy via a
2673               <meta> tag.  We'll update the name of the header once we've
2674               finished implementing the spec.
2675         * dom/ScriptElement.cpp:
2676         (WebCore::ScriptElement::executeScript):
2677         * page/ContentSecurityPolicy.cpp:
2678         (WebCore::ContentSecurityPolicy::allowInlineScript):
2679         * page/ContentSecurityPolicy.h:
2680
2681 2011-04-07  Alice Boxhall  <aboxhall@chromium.org>
2682
2683         Reviewed by Ryosuke Niwa.
2684
2685         Move the MouseEventWithHitTestResults::targetNode() method on to EventHandler.
2686         https://bugs.webkit.org/show_bug.cgi?id=57921
2687
2688         Moves the MouseEventWithHitTestResults::targetNode() method on to EventHandler, so
2689         that the same logic can be used for a HitTestResult.
2690
2691         No visible changes, just cleanup, so no tests.
2692
2693         * page/EventHandler.cpp:
2694         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
2695         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
2696         (WebCore::EventHandler::handleMousePressEventTripleClick):
2697         (WebCore::EventHandler::handleMousePressEventSingleClick):
2698         (WebCore::EventHandler::handleMousePressEvent):
2699         (WebCore::EventHandler::handleMouseDraggedEvent):
2700         (WebCore::EventHandler::handleMouseReleaseEvent):
2701         (WebCore::EventHandler::subframeForHitTestResult):
2702         Made public static member, so that it can access targetNode(), and be accessed by
2703         webkitwebview in gtk.
2704         (WebCore::EventHandler::selectCursor):
2705         (WebCore::EventHandler::targetNode):
2706         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2707         (WebCore::EventHandler::handleMouseMoveEvent):
2708         (WebCore::EventHandler::updateDragAndDrop):
2709         (WebCore::EventHandler::sendContextMenuEvent):
2710         * page/EventHandler.h:
2711         * page/MouseEventWithHitTestResults.cpp:
2712         (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
2713         * page/MouseEventWithHitTestResults.h:
2714         * page/android/EventHandlerAndroid.cpp:
2715         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2716         * page/brew/EventHandlerBrew.cpp:
2717         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2718         * page/chromium/EventHandlerChromium.cpp:
2719         (WebCore::EventHandler::passMousePressEventToSubframe):
2720         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2721         * page/efl/EventHandlerEfl.cpp:
2722         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2723         * page/gtk/EventHandlerGtk.cpp:
2724         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2725         * page/haiku/EventHandlerHaiku.cpp:
2726         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2727         * page/mac/EventHandlerMac.mm:
2728         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2729         (WebCore::EventHandler::passSubframeEventToSubframe):
2730         * page/wx/EventHandlerWx.cpp:
2731         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2732
2733 2011-04-07  Pavel Podivilov  <podivilov@chromium.org>
2734
2735         Reviewed by Pavel Feldman.
2736
2737         Web Inspector: build mapping for formatted scripts based on keywords positions.
2738         https://bugs.webkit.org/show_bug.cgi?id=57936
2739
2740         Mapping based on [\$\.\w]+ was not accurate because string literals representation
2741         may be different in original and formatted scripts.
2742
2743         * inspector/front-end/ScriptFormatterWorker.js:
2744         (buildMapping.regexp.b):
2745         (buildMapping):
2746
2747 2011-04-07  Kent Tamura  <tkent@chromium.org>
2748
2749         Reviewed by Dimitri Glazkov.
2750
2751         Spinbuttons become unclickable if right padding is large.
2752         https://bugs.webkit.org/show_bug.cgi?id=56298
2753
2754         An inner-spin-button is put on the right border and ignores right
2755         padding in RenderTextControlSingleLine::layout(), but forwardEvent()
2756         checks if a point is in an area just right of an internal text block.
2757         This inconsistency caused a bug that an inner-spin-button with large
2758         padding didn't receive mouse events.
2759
2760         To fix this bug, we render spin buttons as layers, and remove manual
2761         event forwarding code.
2762
2763         Test: fast/forms/input-number-large-padding.html
2764
2765         * css/html.css: Add "position:relative" to make a spin-button a layer.
2766         (input::-webkit-inner-spin-button):
2767         (input::-webkit-outer-spin-button):
2768         * rendering/RenderTextControlSingleLine.cpp:
2769         (WebCore::RenderTextControlSingleLine::forwardEvent):
2770           Remove manual event forwarding code.
2771
2772 2011-04-06  Adam Barth  <abarth@webkit.org>
2773
2774         Reviewed by Eric Seidel.
2775
2776         CSP object-src should block plugin loads
2777         https://bugs.webkit.org/show_bug.cgi?id=57283
2778
2779         This change is pretty straight-forward.  It's slighly unclear to me
2780         whether this patch is correct w.r.t. the code in DocumentWriter.  I've
2781         added a FIXME comment, and I'll investigate that case more in the future.
2782
2783         Test: http/tests/security/contentSecurityPolicy/object-src-none.html
2784
2785         * loader/DocumentWriter.cpp:
2786         (WebCore::DocumentWriter::begin):
2787         * loader/SubframeLoader.cpp:
2788         (WebCore::SubframeLoader::requestPlugin):
2789         * page/ContentSecurityPolicy.cpp:
2790         (WebCore::ContentSecurityPolicy::allowObjectFromSource):
2791         (WebCore::ContentSecurityPolicy::addDirective):
2792         * page/ContentSecurityPolicy.h:
2793
2794 2011-04-06  Beth Dakin  <bdakin@apple.com>
2795
2796         Reviewed by Dan Bernstein.
2797
2798         https://bugs.webkit.org/show_bug.cgi?id=58009
2799         Frame::scalePage() results in visual artifacts with scale factors less than 1
2800         -and corresponding-
2801         <rdar://problem/8683230>
2802
2803         Fall into the case where we fill with a background base color when there is a page 
2804         scale factor that is less than 1.
2805         * rendering/RenderView.cpp:
2806         (WebCore::RenderView::paintBoxDecorations):
2807
2808 2011-04-06  Jer Noble  <jer.noble@apple.com>
2809
2810         Reviewed by Darin Adler.
2811
2812         AVF: MediaPlayerPrivateAVFoundationObjC should not use -[AVPlayerItem isPlaybackBufferEmpty]
2813         https://bugs.webkit.org/show_bug.cgi?id=57982
2814
2815         Query our cached loaded time array instead of asking AVPlayerItem if its buffer is empty.
2816
2817         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
2818         (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
2819
2820 2011-04-06  Jer Noble  <jer.noble@apple.com>
2821
2822         Reviewed by Eric Carlson.
2823
2824         MediaPlayerPrivateAVFoundation does not change rate due to setRate().
2825         https://bugs.webkit.org/show_bug.cgi?id=57919
2826
2827         Test: media/video-set-rate-from-pause.html
2828
2829         The base class of MediaPlayerPrivateAVFoundation does not actually change the rate
2830         of the media; instead a subclass must do that work.  So when setRate() is called, 
2831         inform a subclass through a new pure virtual updateRate() function that there's 
2832         work to be done.
2833
2834         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2835         (WebCore::MediaPlayerPrivateAVFoundation::setRate): Call updateRate()
2836         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2837         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
2838         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
2839         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateRate): Added.  Set the requested rate.
2840
2841 2011-04-06  Dai Mikurube  <dmikurube@chromium.org>
2842
2843         Reviewed by David Levin.
2844
2845         Add QUOTA build flag for unified quota API
2846         https://bugs.webkit.org/show_bug.cgi?id=57918
2847
2848         * Configurations/FeatureDefines.xcconfig: Added QUOTA build flag
2849         * GNUmakefile.am: Added QUOTA build flag
2850         * WebCore.pri: Added QUOTA build flag
2851
2852 2011-04-06  Stephanie Lewis  <slewis@apple.com>
2853
2854         Reviewed by Darin Adler.
2855
2856         https://bugs.webkit.org/show_bug.cgi?id=57997
2857         <rdar://problem/9187856> REGRESSION(r75555): ~5-7 MB increase in memory between iBench runs
2858         Navigating away from a Scrolled page which queues a scroll event that is never dispatched.
2859         Cancel all enqueued events when detaching the Document the events cannot keep the Document
2860         alive.
2861
2862         No change in functionality so no new tests.  
2863
2864         * dom/Document.cpp:
2865         (WebCore::Document::detach):
2866         * dom/EventQueue.cpp:
2867         (WebCore::EventQueue::cancelQueuedEvents):
2868         * dom/EventQueue.h:
2869
2870 2011-04-06  Dan Bernstein  <mitz@apple.com>
2871
2872         Reviewed by Darin Adler.
2873
2874         <rdar://problem/9084761> REGRESSION (r73993): Default Arabic line spacing has gotten very loose when the specified font is not Arabic
2875         https://bugs.webkit.org/show_bug.cgi?id=58002
2876
2877         * platform/graphics/mac/SimpleFontDataMac.mm:
2878         (WebCore::SimpleFontData::platformInit): The version of Geeza Pro in Snow Leopard
2879         does not require the vertical metrics tweaks that were needed in Leopard. That the
2880         tweaks were being applied went mostly unnoticed until r73993, because until then it
2881         only affected cases where Geeza Pro was specified, not when it occurred as a fallback
2882         font.
2883
2884 2011-04-06  Roland Steiner  <rolandsteiner@chromium.org>
2885
2886         Reviewed by Dimitri Glazkov.
2887
2888         Bug 57994 - Move guardRef functionality back to Document
2889         https://bugs.webkit.org/show_bug.cgi?id=57994
2890
2891         Move the relevant code parts from TreeScope back into Document.
2892
2893         No new tests. (no new functionality)
2894
2895         * dom/Document.cpp:
2896         (WebCore::Document::removedLastRef):
2897         * dom/Document.h:
2898         * dom/TreeScope.cpp:
2899         (WebCore::TreeScope::destroyTreeScopeData):
2900         * dom/TreeScope.h:
2901
2902 2011-04-06  Ian Henderson  <ianh@apple.com>
2903
2904         Reviewed by Simon Fraser, Antti Koivisto.
2905
2906         Fast path for parsing simple CSS values
2907         https://bugs.webkit.org/show_bug.cgi?id=57964
2908
2909         Add functions to parse simple color or dimension values, skipping the
2910         overhead of full CSS parsing.
2911
2912         Change parseValue to a static method to avoid unnecessary allocation
2913         of a CSSParser in the fast case.
2914
2915         * css/CSSMutableStyleDeclaration.cpp:
2916         (WebCore::CSSMutableStyleDeclaration::setProperty):
2917         Changed to use the new, static parseValue method.
2918         * css/CSSParser.cpp:
2919         (WebCore::isColorPropertyID):
2920         (WebCore::parseColorValue):
2921         Parses any color accepted by the existing parseColor() static method.
2922         We must handle color identifiers separately, since parseColor() will
2923         change 'red' into 'rgb(255, 0, 0)'.
2924         (WebCore::isSimpleLengthPropertyID):
2925         (WebCore::parseSimpleLengthValue):
2926         Parses a value of the form 'NNpx', 'NN%', or 'NN' (when strict is
2927         false, or 'NN' is '0').  Returns false to fall back to the slow path.
2928         (WebCore::CSSParser::parseValue):
2929         * css/CSSParser.h:
2930         * css/WebKitCSSMatrix.cpp:
2931         (WebCore::WebKitCSSMatrix::setMatrixValue):
2932         Changed to use the new, static parseValue method.
2933
2934 2011-04-06  Kevin Ollivier  <kevino@theolliviers.com>
2935
2936         Reviewed by Darin Adler.
2937
2938         Make sure JS_EXPORT_PRIVATE is an empty define when we aren't using the export macros.
2939
2940         https://bugs.webkit.org/show_bug.cgi?id=27551
2941
2942         * config.h:
2943
2944 2011-04-06  Simon Fraser  <simon.fraser@apple.com>
2945
2946         Reviewed by Antti Koivisto.
2947
2948         Some minor style resolution optimizations
2949         https://bugs.webkit.org/show_bug.cgi?id=57996
2950
2951         A couple of minor optimizations to style-related code.
2952
2953         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2954         (WebCore::isCSSPropertyName):
2955         (WebCore::JSCSSStyleDeclaration::putDelegate):
2956         Avoid calling cssPropertyName() twice when setting style on an element.
2957         
2958         * css/CSSStyleSelector.cpp:
2959         (WebCore::useSVGZoomRules):
2960         (WebCore::CSSStyleSelector::applyProperty):
2961         Avoid calling isSVGElement() for every property, since only a two properties
2962         care about it.
2963
2964 2011-04-06  Ian Henderson  <ianh@apple.com>
2965
2966         Reviewed by Antti Koivisto.
2967
2968         Unnecessary string allocation in CSSStyleDeclaration::setProperty
2969         https://bugs.webkit.org/show_bug.cgi?id=57995
2970
2971         Pass the bool representing the property's importance directly instead
2972         of constructing a string.
2973
2974         * css/CSSStyleDeclaration.cpp:
2975         (WebCore::CSSStyleDeclaration::setProperty):
2976
2977 2011-04-06  Leandro Gracia Gil  <leandrogracia@chromium.org>
2978
2979         Reviewed by Steve Block.
2980
2981         Make the style of createFunctionOnlyCallback in V8 consistent with the JavaScriptCore version.
2982         https://bugs.webkit.org/show_bug.cgi?id=57963
2983
2984         No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
2985
2986         * bindings/v8/V8Utilities.h:
2987         (WebCore::createFunctionOnlyCallback):
2988         * bindings/v8/custom/V8GeolocationCustom.cpp:
2989         (WebCore::V8Geolocation::getCurrentPositionCallback):
2990         (WebCore::V8Geolocation::watchPositionCallback):
2991
2992 2011-04-06  Brian Weinstein  <bweinstein@apple.com>
2993
2994         Reviewed by Adam Roben.
2995
2996         WebKit2: Support Windows 7 Gestures
2997         https://bugs.webkit.org/show_bug.cgi?id=49824
2998         <rdar://problem/8689728>
2999         
3000         Move WindowTouch.h from WebKit/win, so it can be used in both WebKit and WebKit2.
3001
3002         * WebCore.vcproj/WebCore.vcproj:
3003         * platform/win/WindowsTouch.h: Copied from WebKit/win/WindowsTouch.h.
3004
3005 2011-04-06  Alexis Menard  <alexis.menard@openbossa.org>
3006
3007         Reviewed by Andreas Kling.
3008
3009         [Qt] We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
3010         https://bugs.webkit.org/show_bug.cgi?id=57974
3011
3012         We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
3013
3014         No new tests needed, just a config flag rename.
3015
3016         * features.pri:
3017
3018 2011-04-06  Tyler Close  <tjclose@chromium.org>
3019
3020         Reviewed by Nate Chapin.
3021
3022         run-bindings-tests reference files out of sync with CodeGenerator*.pm
3023         https://bugs.webkit.org/show_bug.cgi?id=57967
3024
3025         * bindings/scripts/test/V8/V8TestCallback.cpp:
3026
3027 2011-04-06  Asanka Herath  <asanka@chromium.org>
3028
3029         Reviewed by Darin Fisher.
3030
3031         Add new TargetType: TargetIsFavicon
3032
3033         https://bugs.webkit.org/show_bug.cgi?id=57659
3034
3035         No new functionality added, so no additional tests.
3036
3037         * platform/network/ResourceRequestBase.h:
3038
3039 2011-04-06  David Hyatt  <hyatt@apple.com>
3040
3041         Reviewed by Simon Fraser.
3042
3043         https://bugs.webkit.org/show_bug.cgi?id=57981
3044         
3045         Update the column count and width computation algorithm for CSS3 multi-column layout 
3046         to match the revised pseudo-algorithm in the latest draft of the spec.
3047
3048         * rendering/RenderBlock.cpp:
3049         (WebCore::RenderBlock::calcColumnWidth):
3050
3051 2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
3052
3053         Reviewed by Eric Seidel.
3054
3055         borderPaddingMarginStart and borderPaddingMarginEnd should take RenderInline
3056         https://bugs.webkit.org/show_bug.cgi?id=57965
3057
3058         Changed the argument types of borderPaddingMarginStart and borderPaddingMarginEnd
3059         from RenderBoxModelObject to RenderInline since they call marginStart and marginEnd
3060         instead of marginStartForChild and marginEndForChild respectively.
3061
3062         Calling these two functions on RenderInline is okay because writing-mode cannot differ
3063         from that of the containing block.
3064
3065         * rendering/RenderBlockLineLayout.cpp:
3066         (WebCore::borderPaddingMarginStart):
3067         (WebCore::borderPaddingMarginEnd):
3068         (WebCore::inlineLogicalWidth):
3069
3070 2011-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
3071
3072         Unreviewed, rolling out r83039.
3073         http://trac.webkit.org/changeset/83039
3074         https://bugs.webkit.org/show_bug.cgi?id=57978
3075
3076         introduced a new regression in conjunction to
3077         ReplaceSelectionCommand (Requested by rniwa on #webkit).
3078
3079         * editing/EditingStyle.cpp:
3080         (WebCore::EditingStyle::init):
3081         * editing/InsertParagraphSeparatorCommand.cpp:
3082         (WebCore::InsertParagraphSeparatorCommand::doApply):
3083
3084 2011-04-06  Naoki Takano  <takano.naoki@gmail.com>
3085
3086         Reviewed by David Levin.
3087
3088         Webkit ignores PgUp/PgDown/Home/End in SELECT tag objects
3089         https://bugs.webkit.org/show_bug.cgi?id=27658
3090
3091         Test: fast/events/select-element.html
3092
3093         * dom/SelectElement.cpp:
3094         (WebCore::nextValidIndex): Moved from elsewhere in the file to be used by other routines.
3095         (WebCore::nextSelectableListIndexPageAway): Returns a selectable index one page away from the given index.
3096         (WebCore::nextSelectableListIndex): Implemented with nextValidIndex.
3097         And converted to a normal static function from a private function of SelectElement.
3098         (WebCore::previousSelectableListIndex): Implemented with nextValidIndex.
3099         And converted to a normal static function from a private function of SelectElement.
3100         (WebCore::firstSelectableListIndex): Returns the first selectable index.
3101         (WebCore::lastSelectableListIndex): Returns the last selectable index.
3102         (WebCore::SelectElement::menuListDefaultEventHandler): Converted from C cast to C++ cast.
3103         (WebCore::SelectElement::listBoxDefaultEventHandler): Adds support for PageUp/PageDown/Home/End with both single and multiple selection.
3104
3105         * dom/SelectElement.h:
3106         (WebCore::SelectElement::): Remove nextSelectableListIndex() and previousSelectableListIndex().
3107
3108         * rendering/RenderListBox.h: Makes RenderListBox::size public so that PageUp/PageDown behavior can use the actual list size rather than that specified in HTML.
3109         They can differ due to the minimum size imposed by RenderListBox.
3110
3111 2011-04-06  David Hyatt  <hyatt@apple.com>
3112
3113         Reviewed by Dan Bernstein.
3114
3115         https://bugs.webkit.org/show_bug.cgi?id=57975
3116
3117         The "More..." link for line clamping no longer shows up in Safari RSS. Fix the isLink() check
3118         to just look at the style, so that it can find the InlineTextBox and not care that it's a child
3119         of the link element and not the line box for the link element itself (since that line box got
3120         culled).
3121
3122         * rendering/RenderFlexibleBox.cpp:
3123         (WebCore::RenderFlexibleBox::applyLineClamp):
3124
3125 2011-04-06  Brady Eidson  <beidson@apple.com>
3126
3127         Reviewed by Anders Carlsson.
3128
3129         https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973
3130         WK2 icon database should be able to get a CGImage of a specific size
3131
3132         * platform/graphics/BitmapImage.h:
3133         * platform/graphics/Image.h:
3134         (WebCore::Image::getFirstCGImageRefOfSize):
3135         
3136         * platform/graphics/cg/ImageCG.cpp:
3137         (WebCore::BitmapImage::getFirstCGImageRefOfSize): Walk the frames of the image until reaching the
3138           first frame of the requested size.
3139
3140 2011-04-06  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>
3141
3142         Reviewed by Kevin Ollivier.
3143
3144         [wx] Fix cursor handling so that we always call the chrome to set it.
3145         
3146         https://bugs.webkit.org/show_bug.cgi?id=57972
3147
3148         * platform/wx/WidgetWx.cpp:
3149         (WebCore::Widget::setCursor):
3150
3151 2011-04-06  David Hyatt  <hyatt@apple.com>
3152
3153         Reviewed by Dan Bernstein.
3154
3155         https://bugs.webkit.org/show_bug.cgi?id=41445
3156         
3157         Visited links painting with black background. Make sure that if the visited style has
3158         the initial background color (transparent) set that we just use the unvisited color.
3159
3160         Added fast/history/visited-link-background-color.html
3161
3162         * rendering/style/RenderStyle.cpp:
3163         (WebCore::RenderStyle::visitedDependentColor):
3164
3165 2011-04-06  Csaba Osztrogonác  <ossy@webkit.org>
3166
3167         Unreviewed Qt buildfix after r83079.
3168
3169         * WebCore.pro:
3170
3171 2011-04-06  Dean Jackson  <dino@apple.com>
3172
3173         Reviewed by Chris Marrin.
3174
3175         https://bugs.webkit.org/show_bug.cgi?id=56936
3176         Crash in ImplicitAnimation::~ImplicitAnimation
3177
3178         Make sure the style and start time waiting lists
3179         are cleared in the CompositeAnimation destructor. This
3180         way, no running transitions can be left in a state
3181         where they are destroyed as the AnimationControllerPrivate
3182         cleans up.
3183
3184         * page/animation/CompositeAnimation.cpp:
3185         (WebCore::CompositeAnimation::~CompositeAnimation):
3186
3187 2011-04-06  Robert Sesek  <rsesek@chromium.org>
3188
3189         Reviewed by Alexey Proskuryakov.
3190
3191         Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
3192         https://bugs.webkit.org/show_bug.cgi?id=54969
3193
3194         No change in behavior; no new tests.
3195
3196         * editing/TextIterator.cpp:
3197         (WebCore::TextIterator::locationAndLengthFromRange): New method from duplicated code in WebKits
3198         * editing/TextIterator.h:
3199         * page/Frame.cpp:
3200         (WebCore::Frame::rangeForPoint): New method from duplicated code in WebKits
3201
3202 2011-04-06  Leandro Gracia Gil  <leandrogracia@chromium.org>
3203
3204         Reviewed by Steve Block.
3205
3206         Factoring the creation of 'FunctionOnly' callbacks in JavaScriptCore.
3207         https://bugs.webkit.org/show_bug.cgi?id=57770
3208
3209         Create a template from an existing functionality in JSGeolocationCustom.cpp
3210         to be used by the custom bindings of both Geolocation and the Media Stream API.
3211         V8 version of this bug: https://bugs.webkit.org/show_bug.cgi?id=57760
3212
3213         No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
3214
3215         * Android.jscbindings.mk:
3216         * CMakeLists.txt:
3217         * GNUmakefile.am:
3218         * WebCore.gypi:
3219         * WebCore.pro:
3220         * WebCore.vcproj/WebCore.vcproj:
3221         * WebCore.xcodeproj/project.pbxproj:
3222         * bindings/js/CallbackFunction.cpp: Added.
3223         (WebCore::checkFunctionOnlyCallback):
3224         * bindings/js/CallbackFunction.h: Added.
3225         (WebCore::createFunctionOnlyCallback):
3226         * bindings/js/JSBindingsAllInOne.cpp:
3227         * bindings/js/JSGeolocationCustom.cpp:
3228         (WebCore::JSGeolocation::getCurrentPosition):
3229         (WebCore::JSGeolocation::watchPosition):
3230
3231 2011-04-06  Alexis Menard  <alexis.menard@openbossa.org>
3232
3233         Reviewed by Andreas Kling.
3234
3235         [Qt] Implement fullscreen playback for the GStreamer backend.
3236         https://bugs.webkit.org/show_bug.cgi?id=56826
3237
3238         Implement support for fullscreen playback when building the
3239         Qt port with the GStreamer backend (DEFINES+=USE_GSTREAMER=1).
3240         The implementation is done in FullScreenVideoQt alongside with
3241         the Qt Multimedia support.
3242
3243         No new tests because layout tests cover it. They are not yet activated
3244         but will be any time soon.
3245
3246         * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
3247         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
3248         (FullScreenVideoWindow::FullScreenVideoWindow):
3249         (FullScreenVideoWindow::setVideoElement):
3250         (FullScreenVideoWindow::closeEvent):
3251         (FullScreenVideoWindow::keyPressEvent):
3252         (FullScreenVideoWindow::event):
3253         (FullScreenVideoWindow::showFullScreen):
3254         (FullScreenVideoWindow::hideCursor):
3255         (FullScreenVideoWindow::showCursor):
3256
3257 2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
3258
3259         Reviewed by Dimitri Glazkov.
3260
3261         Bundle lineLeftOffset and lineRightOffset as a class
3262         https://bugs.webkit.org/show_bug.cgi?id=57851
3263
3264         Added a new class LineOffsets that encapsulates lineLeftOffset and lineRightOffset.
3265         The patch makes clear that lineLeftOffset and lineRightOffset are never read individually
3266         and only the difference is used to compute the width.
3267
3268         * rendering/RenderBlock.h:
3269         * rendering/RenderBlockLineLayout.cpp:
3270         (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineOffsets instead of two integers.
3271         (WebCore::LineOffsets::LineOffsets): Added.
3272         (WebCore::LineOffsets::width): Added.
3273         (WebCore::LineOffsets::setLeft): Added.
3274         (WebCore::LineOffsets::setRight): Added.
3275         (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
3276         (WebCore::RenderBlock::positionNewFloatOnLine): Takes LineOffsets instead of two integers.
3277
3278 2011-04-06  David Hyatt  <hyatt@apple.com>
3279
3280         Reviewed by Dan Bernstein.
3281
3282         https://bugs.webkit.org/show_bug.cgi?id=57916
3283         
3284         Implement an optimization to the line box tree to cull out most of the intermediate
3285         line boxes that can occur between the root line box and the leaves of the tree (images
3286         and text).
3287
3288         RenderInlines now have a boolean member, m_alwaysCreateLineBoxes,
3289         that starts off as false. Only if it gets flipped to true will there be any line boxes
3290         created for that RenderInline.
3291         
3292         * page/FocusController.cpp:
3293         (WebCore::FocusController::advanceFocusDirectionally):
3294         Adjust the ordering of updateLayout calls to make sure rects aren't queried unless layout
3295         is up to date.
3296
3297         * page/SpatialNavigation.cpp:
3298         (WebCore::hasOffscreenRect):
3299         (WebCore::nodeRectInAbsoluteCoordinates):
3300         Add asserts in spatial navigation code to catch any future bad queries that might be made
3301         for rectangles without layout being up to date.
3302
3303         * platform/graphics/FloatRect.cpp:
3304         (WebCore::FloatRect::uniteIfNonZero):
3305         * platform/graphics/FloatRect.h:
3306         * platform/graphics/IntRect.cpp:
3307         (WebCore::IntRect::uniteIfNonZero):
3308         * platform/graphics/IntRect.h:
3309         Add a new unite function that is useful for the render tree to FloatRect and IntRect.  This
3310         version allows rect unites to happen if either width or height is nonzero.
3311
3312         * rendering/HitTestResult.cpp:
3313         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
3314         Make sure rect-based hit testing properly adds in culled inline ancestors to the set of nodes
3315         if content inside those inlines is hit.
3316
3317         * rendering/InlineBox.h:
3318         (WebCore::InlineBox::logicalFrameRect):
3319         Fix a bug in this function for obtaining the logical frame rect of an inline box.
3320
3321         * rendering/InlineFlowBox.cpp:
3322         (WebCore::InlineFlowBox::addToLine):
3323         addToLine now also checks line gap in the line box tree optimization checks.
3324     
3325         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
3326         (WebCore::InlineFlowBox::computeOverflow):
3327         * rendering/InlineFlowBox.h:
3328         Rewritten to add the text box overflow to the text box itself.
3329
3330          * rendering/InlineTextBox.cpp:
3331         (WebCore::InlineTextBox::destroy):
3332         Destroy has been changed to call a helper function to remove and destroy the line boxes that
3333         is now called from one additional spot.
3334
3335         (WebCore::InlineTextBox::logicalOverflowRect):
3336         (WebCore::InlineTextBox::setLogicalOverflowRect):
3337         Text boxes now cache their own overflow in a global hash table.
3338
3339         (WebCore::InlineTextBox::baselinePosition):
3340         (WebCore::InlineTextBox::lineHeight):
3341         Changed to not assume that the parent line box's renderer is the RenderText's immediate
3342         parent, since intermediate line boxes may have been culled.
3343
3344         (WebCore::InlineTextBox::paint):
3345         Paint now properly checks only the text box overflow instead of the parent line box's overflow.
3346
3347         * rendering/InlineTextBox.h:
3348         (WebCore::InlineTextBox::logicalTopVisualOverflow):
3349         (WebCore::InlineTextBox::logicalBottomVisualOverflow):
3350         (WebCore::InlineTextBox::logicalLeftVisualOverflow):
3351         (WebCore::InlineTextBox::logicalRightVisualOverflow):
3352         New accessors to obtain overflow for inline text boxes.
3353
3354         * rendering/RenderBlock.cpp:
3355         (WebCore::RenderBlock::updateFirstLetter):
3356         updateFirstLetter now removes text boxes from the line box tree before it destroys them, since those
3357         text boxes may not have anything in between them and the block that contains the inline first letter
3358         container.
3359
3360         * rendering/RenderBlockLineLayout.cpp:
3361         (WebCore::RenderBlock::createLineBoxes):
3362         The culling optimization is done here.  Only if the RenderInline says that boxes are allowed will they
3363         be created.
3364
3365         (WebCore::RenderBlock::layoutInlineChildren):
3366         The state of the RenderInline is updated here, in case it is discovered that line boxes are now needed.
3367         This is done before any lines are built.
3368
3369         * rendering/RenderInline.cpp:
3370         (WebCore::RenderInline::RenderInline):
3371         The new m_alwaysCreateLineBoxes flag has been added to the constructor.
3372
3373         (WebCore::RenderInline::styleDidChange):
3374         An initial update of the m_alwaysCreateLineBoxes happens here for things that can be checked immediately
3375         (like having a layer, borders, padding, margins or backgrounds).  Some checks that depend on examining
3376         the RenderInline's parent (including first line styles) happen later in layoutInlineChildren.
3377
3378         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
3379         The function called by layoutInlineChildren to check parent and child style differences (e.g., font,
3380         vertical alignment, line height, etc.).
3381
3382         (WebCore::RenderInline::absoluteRects):
3383         (WebCore::RenderInline::culledInlineAbsoluteRects):
3384         absoluteRects calls culledInlineAbsoluteRects when m_alwaysCreateLineBoxes is false.
3385
3386         (WebCore::RenderInline::absoluteQuads):
3387         (WebCore::RenderInline::culledInlineAbsoluteQuads):
3388         absoluteQuads calls culledInlineAbsoluteQuads when m_alwaysCreateLineBoxes is false.
3389
3390         (WebCore::RenderInline::offsetLeft):
3391         (WebCore::RenderInline::offsetTop):
3392         offsetLeft and offsetTop now check descendant renderers when m_alwaysCreateLineBoxes is false.
3393
3394         (WebCore::RenderInline::linesBoundingBox):
3395         (WebCore::RenderInline::culledInlineBoundingBox):
3396         lineBoundingBox calls culledInlineBoundingBox when m_alwaysCreateLineBoxes is false.
3397
3398         (WebCore::RenderInline::culledInlineFirstLineBox):
3399         (WebCore::RenderInline::culledInlineLastLineBox):
3400         Helpers that return the first and last line box descendants. Used by firstLineBoxIncludingCulling and
3401         lastLineBoxIncludingCulling (which are in turn called by offsetLeft and offsetTop).
3402
3403         (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
3404         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
3405         linesVisualOverflowBoundingBox calls culledInlineVisualOverflowBoundingBox when m_alwaysCreateLineBoxes is false.
3406
3407         (WebCore::RenderInline::clippedOverflowRectForRepaint):
3408         The initial bailout check is now done using firstLineBoxIncludingCulling instead of just firstLineBox.
3409
3410         (WebCore::RenderInline::dirtyLineBoxes):
3411         dirtyLineBoxes now crawls into descendants to figure out which root lines to dirty when
3412         m_alwaysCreateLineBoxes is false.
3413
3414         (WebCore::RenderInline::createAndAppendInlineFlowBox):
3415         Clear the m_alwaysCreateLineBoxes if a box gets added anyway. This happens for leaf inline flows and also
3416         when line-box-contain is set to an unusual value.
3417
3418         (WebCore::RenderInline::addFocusRingRects):
3419         Used culledInlineAbsoluteRects in place of the line box walk when m_alwaysCreateLineBoxes is false.
3420
3421         * rendering/RenderInline.h:
3422         (WebCore::RenderInline::firstLineBoxIncludingCulling):
3423         (WebCore::RenderInline::lastLineBoxIncludingCulling):
3424         Helpers used in a few places (like offsetLeft and offsetTop), mostly in places where the existence of a box
3425         is all that needs checking.
3426
3427         (WebCore::RenderInline::alwaysCreateLineBoxes):
3428         (WebCore::RenderInline::setAlwaysCreateLineBoxes):
3429         Functions for getting and setting the m_alwaysCreateLineBoxes flag.
3430
3431         * rendering/RenderLineBoxList.cpp:
3432         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
3433         Modified to use firstLineBoxIncludingCulling and lastLineBoxIncludingCulling to ensure the right set of
3434         lines get dirtied.
3435
3436         * rendering/RenderText.cpp:
3437         (WebCore::RenderText::removeAndDestroyTextBoxes):
3438         New helper invoked by destroy and also from updateFirstLetter.
3439
3440         (WebCore::RenderText::destroy):
3441         Changed to call removeAndDestroyTextBoxes.
3442
3443         (WebCore::RenderText::absoluteRects):
3444         Fixed to be properly physical instead of logical.
3445
3446         (WebCore::RenderText::linesVisualOverflowBoundingBox):
3447         New implementation for RenderText that gives the bounding box of the text boxes including overflow from
3448         shadows, glyphs, text-stroke, etc.  Used by RenderInline::culledInlineVisualOverflowBoundingBox.
3449
3450         * rendering/RenderText.h:
3451         * rendering/svg/RenderSVGInline.cpp:
3452         (WebCore::RenderSVGInline::RenderSVGInline):
3453         RenderSVGInline always sets m_alwaysCreateLineBoxes to true so that SVG is unaffected by this optimization.
3454
3455         * rendering/svg/SVGRootInlineBox.cpp:
3456         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
3457         (WebCore::SVGRootInlineBox::layoutChildBoxes):
3458         Move the isInlineFlowBox asserts to after the generated content skips, since the generated content boxes are
3459         now InlineTextBoxes (the enclosing InlineFlowBoxes got culled).
3460
3461 2011-04-05  Enrica Casucci  <enrica@apple.com>
3462
3463         Reviewed by Darin Adler.
3464
3465         REGRESSION: Drag & Drop Gmail Attachments doesn't work.
3466         https://bugs.webkit.org/show_bug.cgi?id=57909
3467         <rdar://problem/9103220>
3468
3469         In WebKit2 we cannot rely on the value returned by platformData() that
3470         on Mac returns an NSDraggingInfo object. This is available only in the UI
3471         process. Therefore we should use m_pasteboard instead.
3472         We cannot change what platformData() returns on Mac, since there are
3473         delegate methods that receive a NSDraggingInfo object (only in WebKit).
3474         
3475         * platform/DragData.h:
3476         (WebCore::DragData::pasteboard): Added.
3477         * platform/mac/ClipboardMac.mm:
3478         (WebCore::Clipboard::create): Changed to use pasteboard() instead of platformData().
3479         * platform/mac/DragDataMac.mm:
3480         (WebCore::DragData::asColor): Replaced references to m_platformData with m_pasteboard.
3481         (WebCore::DragData::asURL): Same as above.
3482
3483 2011-04-06  Benjamin Poulain  <benjamin.poulain@nokia.com>
3484
3485         Reviewed by Darin Adler.
3486
3487         ClipboardWin has unused variables "ExceptionCode ec"
3488         https://bugs.webkit.org/show_bug.cgi?id=57952
3489
3490         Remove the unused variable.
3491
3492         * platform/win/ClipboardWin.cpp:
3493         (WebCore::ClipboardWin::declareAndWriteDragImage):
3494         (WebCore::ClipboardWin::writePlainText):
3495
3496 2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
3497
3498         Reviewed by Dimitri Glazkov.
3499
3500         Split getBorderPaddingMargin into two functions
3501         https://bugs.webkit.org/show_bug.cgi?id=57947
3502
3503         * rendering/RenderBlockLineLayout.cpp:
3504         (WebCore::borderPaddingMarginStart): Extracted from getBorderPaddingMargin.
3505         (WebCore::borderPaddingMarginEnd): Ditto.
3506         (WebCore::inlineLogicalWidth): Calls borderPaddingMarginStart and borderPaddingMarginEnd.
3507         (WebCore::RenderBlock::findNextLineBreak): Ditto.
3508
3509 2011-04-06  MORITA Hajime  <morrita@google.com>
3510
3511         Reviewed by Dimitri Glazkov.
3512
3513         [Refactoring] <progress> should not have manual layout code.
3514         https://bugs.webkit.org/show_bug.cgi?id=57801
3515
3516         - Simplified RenderProgress, removing its custom layout code
3517         - Introducing ProgressValueElement and ProgressBarElement, replacing
3518           ProgressBarValueElement. 
3519         
3520         Now the structure is almost identical to <meter>, 
3521         other than:
3522         - RenderProgress has animated painting, thus manages its own timer.
3523         - Both ProgressValueElement and ProgressBarElement has pseudo classes
3524           which don't changes during its lifetime.
3525        
3526         * Android.mk:
3527         * CMakeLists.txt:
3528         * GNUmakefile.am:
3529         * WebCore.gypi:
3530         * WebCore.pro:
3531         * WebCore.vcproj/WebCore.vcproj:
3532         * WebCore.xcodeproj/project.pbxproj:
3533         * css/html.css:
3534         (progress):
3535         (progress::-webkit-progress-bar):
3536         (progress::-webkit-progress-value):
3537         * html/HTMLProgressElement.cpp:
3538         (WebCore::HTMLProgressElement::~HTMLProgressElement):
3539         (WebCore::HTMLProgressElement::create):
3540         (WebCore::HTMLProgressElement::attach):
3541         (WebCore::HTMLProgressElement::didElementStateChange):
3542         (WebCore::HTMLProgressElement::createShadowSubtree):
3543         * html/HTMLProgressElement.h:
3544         * html/shadow/ProgressShadowElement.cpp: Copied from Source/WebCore/html/shadow/ProgressBarValueElement.h.
3545         (WebCore::ProgressShadowElement::ProgressShadowElement):
3546         (WebCore::ProgressShadowElement::progressElement):
3547         (WebCore::ProgressShadowElement::rendererIsNeeded):
3548         (WebCore::ProgressBarElement::shadowPseudoId):
3549         (WebCore::ProgressValueElement::shadowPseudoId):
3550         (WebCore::ProgressValueElement::setWidthPercentage):
3551         * html/shadow/ProgressShadowElement.h: Renamed from Source/WebCore/html/shadow/ProgressBarValueElement.h.
3552         (WebCore::ProgressBarElement::ProgressBarElement):
3553         (WebCore::ProgressBarElement::create):
3554         (WebCore::ProgressValueElement::ProgressValueElement):
3555         (WebCore::ProgressValueElement::create):
3556         * rendering/RenderProgress.cpp:
3557         (WebCore::RenderProgress::RenderProgress):
3558         (WebCore::RenderProgress::updateFromElement):
3559         (WebCore::RenderProgress::animationTimerFired):
3560         * rendering/RenderProgress.h:
3561         (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
3562         (WebCore::RenderProgress::canHaveChildren):
3563
3564 2011-04-06  Mario Sanchez Prada  <msanchez@igalia.com>
3565
3566         Reviewed by Chris Fleizach.
3567
3568         [GTK] Do not reference AccessibilityRenderObject from platform dependent code
3569         https://bugs.webkit.org/show_bug.cgi?id=57955
3570
3571         Do not reference AccessibilityRenderObject from platform specific code
3572
3573         Added new virtual functions to AccessibilityObject.h and removed
3574         explicit references to AccessibilityRenderObject from GTK code.
3575
3576         * accessibility/AccessibilityObject.h:
3577         (WebCore::AccessibilityObject::renderer): New virtual method,
3578         returning 0 by default. Overriden by AccessibilityRenderObject.
3579         (WebCore::AccessibilityObject::correspondingLabelForControlElement):
3580         New virtual method, returning 0 by default. It complements the
3581         already present method correspondingControlForLabelElement().
3582
3583         * accessibility/AccessibilityRenderObject.h:
3584         (WebCore::AccessibilityRenderObject::renderer): Made virtual.
3585
3586         * accessibility/gtk/AXObjectCacheAtk.cpp:
3587         (WebCore::emitTextChanged): Reference  AccessibilityObject,
3588         instead of AccessibilityRenderObject.
3589         (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
3590         Ditto.
3591
3592         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3593         (webkit_accessible_get_name): Do not reference
3594         AccessibilityRenderObject.
3595         (webkit_accessible_get_description): Ditto.
3596         (setAtkRelationSetFromCoreObject): Ditto.
3597         (optionFromList): Ditto.
3598         (optionFromSelection): Ditto.
3599         (webkit_accessible_selection_clear_selection): Ditto.
3600         (webkit_accessible_selection_get_selection_count): Ditto.
3601         (webkit_accessible_selection_select_all_selection): Ditto.
3602         (textForObject): Ditto.
3603         (webkit_accessible_text_get_text): Ditto.
3604         (getPangoLayoutForAtk): Ditto.
3605         (webkit_accessible_text_get_caret_offset): Ditto.
3606         (baselinePositionForRenderObject): Ditto.
3607         (getAttributeSetForAccessibilityObject): Ditto.
3608         (accessibilityObjectLength): Ditto.
3609         (getSelectionOffsetsForObject): Ditto.
3610         (webkit_accessible_text_set_selection): Ditto.
3611         (webkit_accessible_text_set_caret_offset): Ditto.
3612         (webkit_accessible_table_get_caption): Ditto.
3613         (getInterfaceMaskFromObject): Ditto.
3614
3615         * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
3616         (getRangeLengthForObject): Ditto.
3617
3618         Removed unused renderer() method from AccessibilityMenuList.
3619
3620         * accessibility/AccessibilityMenuList.h: Removed unused method.
3621         * accessibility/AccessibilityMenuList.cpp: Removed unused method.
3622
3623 2011-04-06  Alexander Pavlov  <apavlov@chromium.org>
3624
3625         Reviewed by Pavel Feldman.
3626
3627         Web Inspector: Javascipt warning link expand and overlap with icons in js console
3628         https://bugs.webkit.org/show_bug.cgi?id=57939
3629
3630         * inspector/front-end/inspector.js:
3631         (WebInspector.linkifyURLAsNode):
3632
3633 2011-04-06  Alexander Pavlov  <apavlov@chromium.org>
3634
3635         Reviewed by Pavel Feldman.
3636
3637         Web Inspector: Beautify parameter names in Inspector.json (CSS domain)
3638         https://bugs.webkit.org/show_bug.cgi?id=57931
3639
3640         * inspector/Inspector.json:
3641
3642 2011-04-06  Jia Pu  <jpu@apple.com>
3643
3644         Reviewed by Darin Adler.
3645
3646         [Mac] WebCore need to notify AppKit spell checker after user has modified autocorrected text.
3647         https://bugs.webkit.org/show_bug.cgi?id=57665
3648         <rdar://problem/7350477>
3649
3650         We need to track how user modified an autocorrected word. If he changed it back to original
3651         text, we want to record AutocorrectionReverted response. And if he changed it to something
3652         else, we want to record AutocorrectionEdited response.
3653
3654         To achieve this, we need to distringuish between text replacement caused by autocorrection
3655         from that due to other causes, such as reversion, text substitution, etc. So we added a new
3656         marker type "Autocorrected". We also need to be able to check for correction, even when we
3657         don't intend to actually carry out replacement. For this, we introduced a new TextCheckingOption
3658         value, "CheckForCorrection".
3659
3660         We also added DocumentMarkerController::markersInRange() to retrieve a vector of markers in
3661         specified range, and of specified type.
3662
3663         * dom/DocumentMarker.h:
3664         * dom/DocumentMarkerController.cpp:
3665         (WebCore::DocumentMarkerController::markersInRange):
3666         (WebCore::DocumentMarkerController::hasMarkers):
3667         * dom/DocumentMarkerController.h:
3668         * editing/Editor.cpp:
3669         (WebCore::markerTypesForAutocorrection):
3670         (WebCore::markersHaveIdenticalDescription):
3671         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3672         (WebCore::Editor::recordSpellcheckerResponseForModifiedCorrection):
3673         (WebCore::Editor::changeBackToReplacedString):
3674         (WebCore::Editor::markMisspellingsAndBadGrammar):
3675         (WebCore::Editor::applyCorrectionPanelInfo):
3676         (WebCore::Editor::unappliedSpellCorrection):
3677         (WebCore::Editor::textCheckingTypeMaskFor):
3678         * editing/Editor.h:
3679         * editing/SpellingCorrectionCommand.cpp:
3680         (WebCore::SpellingCorrectionCommand::doApply):
3681
3682 2011-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
3683
3684         Unreviewed, rolling out r83045.
3685         http://trac.webkit.org/changeset/83045
3686         https://bugs.webkit.org/show_bug.cgi?id=57953
3687
3688         Broke win layout tests (Requested by podivilov on #webkit).
3689
3690         * GNUmakefile.am:
3691         * inspector/front-end/DebuggerPresentationModel.js:
3692         (WebInspector.DebuggerPresentationModel.prototype._addScript):
3693         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
3694
3695 2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
3696
3697         Moved the declaration of positionNewFloatOnLine in RenderBlock.h after r83042.
3698
3699         * rendering/RenderBlock.h:
3700
3701 2011-03-27  Diego Gonzalez  <diegohcg@webkit.org>
3702
3703         Reviewed by Kenneth Rohde Christiansen.
3704
3705         [Qt] Re-draw the <input> fields for Qt Mobile Theme to do not override elements already styled.
3706         https://bugs.webkit.org/show_bug.cgi?id=57007
3707
3708         * CodeGenerators.pri:
3709         * css/themeQtMobile.css: Removed.
3710         * platform/qt/QtMobileWebStyle.cpp:
3711         (drawRectangularControlBackground):
3712         (QtMobileWebStyle::drawPrimitive):
3713         (QtMobileWebStyle::drawComplexControl):
3714         * platform/qt/QtMobileWebStyle.h:
3715         * platform/qt/RenderThemeQt.cpp:
3716         (WebCore::RenderThemeQt::isControlStyled):
3717         (WebCore::RenderThemeQt::paintTextField):
3718
3719 2011-04-06  Jia Pu  <jpu@apple.com>
3720
3721         Reviewed by Darin Adler.
3722
3723         [Mac] When autocorrection occurs without showing correction panel, WebCore need to post accessibility notification.
3724         https://bugs.webkit.org/show_bug.cgi?id=57800
3725         <rdar://problem/9218223>
3726
3727         Defined a new accessibility notification type, AXAutocorrectionOccured. Editor::markAllMisspellingsAndBadGrammarInRanges()
3728         now posts said notification when any autocorrection or text replacement (e.g. replacing "(c)" with copyright mark) takes place.
3729
3730         * accessibility/AXObjectCache.h:
3731         * accessibility/chromium/AXObjectCacheChromium.cpp:
3732         (WebCore::AXObjectCache::postPlatformNotification):
3733         * accessibility/mac/AXObjectCacheMac.mm:
3734         (WebCore::AXObjectCache::postPlatformNotification):
3735         * editing/Editor.cpp:
3736         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3737
3738 2011-04-06  Martin Robinson  <mrobinson@igalia.com>
3739
3740         Build fix for debug Cairo builds.
3741
3742         * platform/graphics/cairo/PlatformContextCairo.cpp:
3743         (WebCore::PlatformContextCairo::pushImageMask): Update the reference to m_maskInformation.
3744
3745 2011-04-06  Diego Gonzalez  <diegohcg@webkit.org>
3746
3747         Reviewed by Antonio Gomes.
3748
3749         [Qt] Style fix for QtMobileWebStyle.h
3750         https://bugs.webkit.org/show_bug.cgi?id=57708
3751
3752         * platform/qt/QtMobileWebStyle.h:
3753
3754 2011-04-06  Andras Becsi  <abecsi@webkit.org>
3755
3756         Reviewed by Darin Adler.
3757
3758         Invalid color #{predefined colorName} is accepted by the CSS parser.
3759         https://bugs.webkit.org/show_bug.cgi?id=15360
3760
3761         Test: fast/css/invalid-predefined-color.html
3762
3763         * css/CSSGrammar.y: Remove superfluous hexcolor production.
3764         * css/tokenizer.flex: A hexadecimal number should consist of [a-fA-F0-9] values ({h}).
3765
3766 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
3767
3768         Reviewed by Pavel Feldman.
3769
3770         Web Inspector: add test for script formatter worker.
3771         https://bugs.webkit.org/show_bug.cgi?id=57447
3772
3773         Test: inspector/debugger/script-formatter.html
3774
3775         * GNUmakefile.am:
3776         * inspector/front-end/DebuggerPresentationModel.js:
3777         (WebInspector.DebuggerPresentationModel):
3778         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
3779
3780 2011-04-06  Martin Robinson  <mrobinson@igalia.com>
3781
3782         Reviewed by Xan Lopez.
3783
3784         [Cairo] Hide the details of image masking in PlatformContextCairo
3785         https://bugs.webkit.org/show_bug.cgi?id=57878
3786
3787         No new tests. This is just a refactor.
3788
3789         * platform/graphics/GraphicsContext.h:
3790         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3791         (WebCore::GraphicsContext::savePlatformState): Call into PlatformContextCairo now to
3792         do the actual cairo_save. Remove information about image masking.
3793         (WebCore::GraphicsContext::restorePlatformState): Call into PlatformContextCairo now to
3794         do the actual cairo_restore. Remove information about image masking.
3795         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3796         * platform/graphics/cairo/ImageBufferCairo.cpp:
3797         (WebCore::ImageBuffer::clip): Use PlatformContextCairo here now.
3798         * platform/graphics/cairo/PlatformContextCairo.cpp:
3799         (WebCore::PlatformContextCairo::restore): Added.
3800         (WebCore::PlatformContextCairo::save): Added.
3801         (WebCore::PlatformContextCairo::pushImageMask): Added.
3802         * platform/graphics/cairo/PlatformContextCairo.h:
3803         (WebCore::ImageMaskInformation::update): Moved from GraphicsContextPlatformPrivateCairo.h.
3804         (WebCore::ImageMaskInformation::isValid): Ditto.
3805         (WebCore::ImageMaskInformation::maskSurface): Ditto.
3806         (WebCore::ImageMaskInformation::maskRect): Ditto.
3807
3808 2011-04-02  Diego Gonzalez  <diegohcg@webkit.org>
3809
3810         Reviewed by Csaba Osztrogonác.
3811
3812         [Qt] Radio buttons are showing wrong with mobile theme
3813         https://bugs.webkit.org/show_bug.cgi?id=57706
3814
3815         * platform/qt/QtMobileWebStyle.cpp:
3816         (QtMobileWebStyle::drawRadio):
3817
3818 2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
3819
3820         Reviewed by Eric Seidel.
3821
3822         Move RenderBlock::positionNewFloatOnLine to RenderBlockLineLayout.cpp
3823         https://bugs.webkit.org/show_bug.cgi?id=57943
3824
3825         * rendering/RenderBlock.cpp: Removed positionNewFloatOnLine.
3826         * rendering/RenderBlockLineLayout.cpp:
3827         (WebCore::RenderBlock::positionNewFloatOnLine): Moved from RenderBlock.cpp
3828
3829 2011-04-05  Diego Gonzalez  <diegohcg@webkit.org>
3830
3831         Buildfix after r82125.
3832
3833         [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
3834         https://bugs.webkit.org/show_bug.cgi?id=57087
3835
3836         * platform/qt/QtMobileWebStyle.cpp:
3837         (QtMobileWebStyle::findChecker):
3838         (QtMobileWebStyle::findRadio):
3839         (QtMobileWebStyle::findComboButton):
3840
3841 2011-04-06  Pavel Podivilov  <podivilov@chromium.org>
3842
3843         Reviewed by Yury Semikhatsky.
3844
3845         Web Inspector: inline script imports in ScriptFormatterWorker.js so it works in Safari release.
3846         https://bugs.webkit.org/show_bug.cgi?id=57641
3847
3848         * WebCore.xcodeproj/project.pbxproj:
3849         * gyp/streamline-inspector-source.sh:
3850         * inspector/combine-javascript-resources.pl: Renamed from Source/WebCore/combine-javascript-resources.
3851         * inspector/inline-javascript-imports.py: Added.
3852
3853 2011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
3854
3855         Reviewed by Eric Seidel.
3856
3857         REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
3858         https://bugs.webkit.org/show_bug.cgi?id=57872
3859
3860         r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
3861         because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
3862
3863         r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
3864         avoiding the tab span.
3865
3866         Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
3867
3868         Test: editing/inserting/insert-paragraph-separator-tab-span.html
3869
3870         * editing/EditingStyle.cpp:
3871         (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
3872         * editing/InsertParagraphSeparatorCommand.cpp:
3873         (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
3874         separator into a paragraph separator.
3875
3876 2011-04-06  Levi Weintraub  <leviw@chromium.org>
3877
3878         Reviewed by Ryosuke Niwa.
3879
3880         Add member functions for determining line/paragraph separation to InlineIterator
3881         https://bugs.webkit.org/show_bug.cgi?id=57938
3882
3883         Adding atTextParagraphSeparator and atParagraphSeparator inline convenience functions to
3884         InlineIterator, where it makes far more sense for them to be. Also moving
3885         shouldPreserveNewline to RenderObject and renaming it preservesNewline.
3886
3887         No new tests as this provides no new functionality.
3888
3889         * rendering/InlineIterator.h:
3890         (WebCore::InlineIterator::atTextParagraphSeparator):
3891         (WebCore::InlineIterator::atParagraphSeparator):
3892         * rendering/RenderBlockLineLayout.cpp:
3893         (WebCore::RenderBlock::requiresLineBox):
3894         (WebCore::RenderBlock::findNextLineBreak):
3895         * rendering/RenderObject.h:
3896         (WebCore::RenderObject::preservesNewline):
3897
3898 2011-04-05  Alexander Pavlov  <apavlov@chromium.org>
3899
3900         Reviewed by Pavel Feldman.
3901
3902         Web Inspector: Range insertNode function does not update content in the inspector
3903         https://bugs.webkit.org/show_bug.cgi?id=57829
3904
3905         * inspector/InspectorDOMAgent.cpp:
3906         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
3907         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
3908
3909 2011-04-06  Alejandro G. Castro  <alex@igalia.com>
3910
3911         Fix GTK3 compilation after r82962.
3912
3913         * platform/gtk/RenderThemeGtk3.cpp:
3914         (WebCore::paintToggle):
3915         (WebCore::renderButton):
3916         (WebCore::RenderThemeGtk::paintMenuList):
3917         (WebCore::RenderThemeGtk::paintTextField):
3918         (WebCore::RenderThemeGtk::paintSliderTrack):
3919         (WebCore::RenderThemeGtk::paintSliderThumb):
3920         (WebCore::RenderThemeGtk::paintProgressBar):
3921         (WebCore::paintSpinArrowButton):
3922         * platform/gtk/ScrollbarThemeGtk3.cpp:
3923         (WebCore::ScrollbarThemeGtk::paintTrackBackground):
3924         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
3925         (WebCore::ScrollbarThemeGtk::paintThumb):
3926         (WebCore::ScrollbarThemeGtk::paintButton):
3927
3928 2011-04-06  Andrey Kosyakov  <caseq@chromium.org>
3929
3930         Reviewed by Yury Semikhatsky.
3931
3932         Web Inspector: [Extensions API] remove inspectedPage.* events
3933         https://bugs.webkit.org/show_bug.cgi?id=57763
3934
3935         - Removed webInspector.inspectedPage.* events
3936         - moved onNavigated to webInspector.resources
3937
3938         * inspector/front-end/ExtensionAPI.js:
3939         (WebInspector.injectedExtensionAPI):
3940         (WebInspector.injectedExtensionAPI.InspectedWindow):
3941         * inspector/front-end/ExtensionAPISchema.json:
3942         * inspector/front-end/ExtensionServer.js:
3943         (WebInspector.ExtensionServer.prototype.notifyInspectedURLChanged):
3944         * inspector/front-end/inspector.js:
3945         (WebInspector.domContentEventFired):
3946         (WebInspector.loadEventFired):
3947         (WebInspector.inspectedURLChanged):
3948
3949 2011-04-06  Joseph Pecoraro  <joepeck@webkit.org>
3950
3951         Reviewed by Antti Koivisto.
3952
3953         Add <head> to the simpleUserAgentStyleSheet
3954         https://bugs.webkit.org/show_bug.cgi?id=57915
3955
3956         * css/CSSStyleSelector.cpp:
3957         (WebCore::elementCanUseSimpleDefaultStyle): add head to the
3958         simple stylesheet, display:none.
3959
3960 2011-04-05  Mikhail Naganov  <mnaganov@chromium.org>
3961
3962         Reviewed by Pavel Feldman.
3963
3964         Web Inspector: [Chromium] Add layout test for Summary view of detailed heap snapshots.
3965         https://bugs.webkit.org/show_bug.cgi?id=57856
3966
3967         Test: inspector/profiler/detailed-heapshots-summary.html
3968
3969         * inspector/front-end/DataGrid.js:
3970         (WebInspector.DataGrid):
3971         * inspector/front-end/DetailedHeapshotGridNodes.js:
3972         (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate):
3973         (WebInspector.HeapSnapshotGridNode.prototype._populate):
3974         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
3975         (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
3976         (WebInspector.HeapSnapshotGridNode.prototype.sort):
3977         (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
3978         * inspector/front-end/DetailedHeapshotView.js:
3979         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
3980         * inspector/front-end/ProfilesPanel.js:
3981         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
3982         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
3983
3984 2011-04-06  Anders Bakken  <agbakken@gmail.com>
3985
3986         Reviewed by David Levin.
3987
3988         [Qt] SmartReplaceQt.cpp has coding-style errors
3989         https://bugs.webkit.org/show_bug.cgi?id=40261
3990
3991         This patch does not require new test cases.
3992
3993         * editing/qt/SmartReplaceQt.cpp:
3994         (WebCore::isCharacterSmartReplaceExempt):
3995
3996 2011-04-06  Naoki Takano  <takano.naoki@gmail.com>
3997
3998         Reviewed by Ryosuke Niwa.
3999
4000         REGRESSION(r81328): Null pointer crash in canAppendNewLineFeed when selection isn't inside an editable element
4001         https://bugs.webkit.org/show_bug.cgi?id=57755
4002
4003         Test: editing/execCommand/insert-line-break-onload.html
4004
4005         * editing/TypingCommand.cpp:
4006         (WebCore::canAppendNewLineFeed): Added null pointer check for rootEditableElement().
4007
4008 2011-04-05  Antti Koivisto  <antti@apple.com>
4009
4010         Reviewed by Cameron Zwarich.
4011
4012         Avoid calling currentTime() from FrameView::adjustedDeferredRepaintDelay() when repaints are deferred
4013         https://bugs.webkit.org/show_bug.cgi?id=57914
4014
4015         Don't call adjustedDeferredRepaintDelay unnecessarily.
4016
4017         * page/FrameView.cpp:
4018         (WebCore::FrameView::repaintContentRectangle):
4019         (WebCore::FrameView::adjustedDeferredRepaintDelay):
4020
4021 2011-04-05  Steve VanDeBogart  <vandebo@chromium.org>
4022
4023         Reviewed by David Levin.
4024
4025         Update call to SkAdvancedTypefaceMetrics to new API.
4026         https://bugs.webkit.org/show_bug.cgi?id=57887
4027
4028         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
4029         (WebCore::FontPlatformData::emSizeInFontUnits):
4030
4031 2011-04-05  Alexey Proskuryakov  <ap@apple.com>
4032
4033         Reviewed by Darin Adler.
4034
4035         Rename event dispatching functions after form event removal
4036         https://bugs.webkit.org/show_bug.cgi?id=57908
4037
4038         * dom/InputElement.cpp:
4039         (WebCore::InputElement::setValueFromRenderer):
4040         * dom/Node.cpp:
4041         (WebCore::Node::dispatchChangeEvent):
4042         (WebCore::Node::dispatchInputEvent):
4043         (WebCore::Node::defaultEventHandler):
4044         * dom/Node.h:
4045         * html/HTMLFormControlElement.cpp:
4046         (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
4047         (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent):
4048         (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):
4049         Renamed "events" to "event", since there is only one event to dispatch now.
4050
4051 2011-04-05  Anders Bakken  <agbakken@gmail.com>
4052
4053         Reviewed by David Levin.
4054
4055         [Qt] DragControllerQt.cpp has coding-style errors
4056         https://bugs.webkit.org/show_bug.cgi?id=40258
4057
4058         This patch does not require new test cases.
4059
4060         * page/qt/DragControllerQt.cpp:
4061         (WebCore::DragController::dragOperation):
4062
4063 2011-04-05  Steve VanDeBogart  <vandebo@chromium.org>
4064
4065         Reviewed by David Levin.
4066
4067         Update deprecated include: platform_canvas_win.h to platform_canvas.h.
4068         https://bugs.webkit.org/show_bug.cgi?id=57896
4069
4070         * platform/graphics/chromium/FontChromiumWin.cpp:
4071
4072 2011-04-05  Darin Adler  <darin@apple.com>
4073