2011-02-23 Patrick Gansterer <paroga@webkit.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
2
3         Reviewed by Darin Adler.
4
5         Rename PLATFORM(CF) to USE(CF)
6         https://bugs.webkit.org/show_bug.cgi?id=53540
7
8         * WebCore.gyp/WebCore.gyp:
9         * editing/SmartReplace.cpp:
10         * editing/SmartReplaceICU.cpp:
11         * loader/MainResourceLoader.cpp:
12         (WebCore::MainResourceLoader::didReceiveResponse):
13         (WebCore::MainResourceLoader::didReceiveData):
14         (WebCore::MainResourceLoader::didFinishLoading):
15         (WebCore::MainResourceLoader::didFail):
16         * loader/archive/ArchiveFactory.cpp:
17         (WebCore::archiveMIMETypes):
18         * platform/FileSystem.h:
19         * platform/KURL.h:
20         * platform/KURLGoogle.cpp:
21         * platform/RunLoopTimer.h:
22         * platform/SharedBuffer.cpp:
23         * platform/SharedBuffer.h:
24         * platform/UUID.cpp:
25         (WebCore::createCanonicalUUIDString):
26         * platform/network/ResourceHandle.h:
27         * platform/network/ResourceRequestBase.h:
28         * platform/network/curl/ResourceHandleCurl.cpp:
29         * platform/network/curl/ResourceHandleManager.cpp:
30         (WebCore::certificatePath):
31         * platform/text/cf/StringCF.cpp:
32         * platform/text/cf/StringImplCF.cpp:
33         * platform/win/BString.cpp:
34         * platform/win/BString.h:
35         * platform/win/ClipboardUtilitiesWin.cpp:
36         (WebCore::getWebLocData):
37         (WebCore::getURL):
38         (WebCore::getClipboardData):
39         * platform/win/ClipboardWin.cpp:
40         (WebCore::writeFileToDataObject):
41         * platform/win/SearchPopupMenuWin.cpp:
42         (WebCore::SearchPopupMenuWin::enabled):
43         (WebCore::SearchPopupMenuWin::saveRecentSearches):
44         (WebCore::SearchPopupMenuWin::loadRecentSearches):
45
46 2011-02-23  Benjamin Kalman  <kalman@chromium.org>
47
48         Reviewed by Ojan Vafai.
49
50         Moving or selecting backwards by words jumps to start of contenteditable region if contenteditable=false span is encountered
51         https://bugs.webkit.org/show_bug.cgi?id=51001
52
53         Test: editing/selection/extend-backward-by-word-over-non-editable.html
54
55         Revert some previous changes (the TextIteratorEndsAtEditingBoundary text iteration behaviour) which caused this
56         bug in the first place, and fix SimplifiedBackwardsTextIterator's iteration range check as an alternative fix.
57
58         The original bug was that double-clicking on an inline editable span at the start of a paragraph would clear the
59         selection (webkit.org/b/36360).  This was caused by upstream/downstream VisbiblePosition complications.  To fix,
60         refuse to iterate beyond the start node (rather than refusing to iterate across editable boundaries, which
61         causes this bug).
62
63         To see why this is correct, and to make it clearer that is indeed what is happening, the text iterator code has
64         been slightly restructured to express the invariant that the iterator will never advance past the start node.
65
66         * editing/TextIterator.cpp:
67         (WebCore::TextIterator::TextIterator): Remove references to TextIterationEndsAtEditing boundary.
68         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Remove m_pastStartNode as the
69         mechanism for iteration range checking, and use a flag m_havePassedStartNode instead.
70         (WebCore::SimplifiedBackwardsTextIterator::advance): Clean up, use advanceRespectingRange and
71         m_havePassedStartNode for iteration range checking rather than m_pastStartNode.
72         (WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): The new way of modifying m_node
73         which updates m_havePassedStartNode and refuses to continue when it becomes true.
74         * editing/TextIterator.h: Remove TextIteratorEndsAtEditingBoundary, update for new/removed prototypes and
75         member variables.
76         * editing/visible_units.cpp:
77         (WebCore::previousBoundary): Remove references to TextIteratorEndsAtEditingBoundary.
78
79 2011-02-23  Fumitoshi Ukai  <ukai@chromium.org>
80
81         Reviewed by Adam Barth.
82
83         WebSocket uses insecure random numbers
84         https://bugs.webkit.org/show_bug.cgi?id=54714
85
86         * websockets/WebSocketHandshake.cpp:
87         (WebCore::randomNumberLessThan):
88         (WebCore::generateSecWebSocketKey):
89         (WebCore::generateKey3):
90
91 2011-02-21  Hans Wennborg  <hans@chromium.org>
92
93         Reviewed by Jeremy Orlow.
94
95         IndexedDB: Rename IDBSQLiteDatabase to IDBBackingStore
96         https://bugs.webkit.org/show_bug.cgi?id=54864
97
98         No new functionality, so no new tests.
99
100         * GNUmakefile.am:
101         * WebCore.gypi:
102         * storage/IDBBackingStore.cpp:
103         (WebCore::IDBBackingStore::IDBBackingStore):
104         (WebCore::IDBBackingStore::~IDBBackingStore):
105         * storage/IDBBackingStore.h:
106         (WebCore::IDBBackingStore::create):
107         (WebCore::IDBBackingStore::db):
108         * storage/IDBCursorBackendImpl.cpp:
109         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
110         (WebCore::IDBCursorBackendImpl::currentRowExists):
111         (WebCore::IDBCursorBackendImpl::database):
112         * storage/IDBCursorBackendImpl.h:
113         (WebCore::IDBCursorBackendImpl::create):
114         * storage/IDBDatabaseBackendImpl.cpp:
115         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
116         (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
117         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
118         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
119         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
120         * storage/IDBDatabaseBackendImpl.h:
121         (WebCore::IDBDatabaseBackendImpl::create):
122         * storage/IDBFactoryBackendImpl.cpp:
123         (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
124         (WebCore::openSQLiteDatabase):
125         (WebCore::IDBFactoryBackendImpl::open):
126         * storage/IDBFactoryBackendImpl.h:
127         * storage/IDBIndexBackendImpl.cpp:
128         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
129         (WebCore::IDBIndexBackendImpl::openCursorInternal):
130         (WebCore::IDBIndexBackendImpl::sqliteDatabase):
131         * storage/IDBIndexBackendImpl.h:
132         (WebCore::IDBIndexBackendImpl::create):
133         * storage/IDBObjectStoreBackendImpl.cpp:
134         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
135         (WebCore::IDBObjectStoreBackendImpl::createIndex):
136         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
137         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
138         (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
139         * storage/IDBObjectStoreBackendImpl.h:
140         (WebCore::IDBObjectStoreBackendImpl::create):
141
142 2011-02-23  Dominic Mazzoni  <dmazzoni@google.com>
143
144         Reviewed by Kenneth Russell.
145
146         Add a hit test handler for canvas elements that handles clicks on the canvas but ignores children.
147         https://bugs.webkit.org/show_bug.cgi?id=54697
148
149         New test to prevent this from regressing in the future: canvas/canvas-mouse-events.html
150
151         * rendering/RenderHTMLCanvas.cpp:
152         (WebCore::RenderHTMLCanvas::nodeAtPoint):
153
154 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
155
156         Reviewed by Darin Adler.
157
158         Remove obsolete focusRingColor functions
159         https://bugs.webkit.org/show_bug.cgi?id=54824
160
161         * CMakeListsWinCE.txt:
162         * platform/graphics/haiku/ColorHaiku.cpp:
163         * platform/graphics/wince/ColorWinCE.cpp: Removed.
164
165 2011-02-22  Jia Pu  <jpu@apple.com>
166
167         Reviewed by Dan Bernstein.
168
169         On Mac OS X, English contractions are marked misspelled with certain user preference setting.
170         https://bugs.webkit.org/show_bug.cgi?id=54975
171
172         manual test: manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html
173
174         Without this patch, we check for contraction only when autocorrection or other type of auto-
175         substituation is on. And we failed to check for contraction if only spellchecking is turned on.
176         This patch implements the desired behavior, checking for contraction when either correction/substitution,
177         or spellchecking, is on.
178
179         * editing/Editor.cpp:
180         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
181         * manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html: Added.
182
183 2011-02-22  Charlie Reis  <creis@chromium.org>
184
185         Reviewed by Darin Fisher.
186
187         Remove DatabasePolicy from FrameLoaderTypes
188         https://bugs.webkit.org/show_bug.cgi?id=54968
189
190         The DatabasePolicy enum is no longer needed now that we avoid stopping
191         loaders on same-document navigations.
192
193         Existing test: storage/hash-change-with-xhr.html
194
195         * WebCore.exp.in:
196         * loader/DocumentLoader.cpp:
197         * loader/DocumentLoader.h:
198         * loader/FrameLoader.cpp:
199         * loader/FrameLoader.h:
200         * loader/FrameLoaderTypes.h:
201         * workers/WorkerThread.cpp:
202
203 2011-02-22  Alexis Menard  <alexis.menard@openbossa.org>
204
205         Reviewed by Andreas Kling.
206
207         [Qt] QWebView ignores a palette set with QWebView::setPalette()
208         https://bugs.webkit.org/show_bug.cgi?id=31742
209
210         Use custom QWebView palette if the view provides one.
211         Modified version of a patch made by Fabrizio Machado.
212
213         * platform/qt/RenderThemeQt.cpp:
214         (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
215         (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
216         (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
217         (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
218         (WebCore::RenderThemeQt::platformFocusRingColor):
219
220 2011-02-22  Brian Salomon  <bsalomon@google.com>
221
222         Reviewed by Kenneth Russell.
223
224         Don't disable accelerated canvas when using the skia gpu backend.
225
226         No new tests are required.
227
228         * html/canvas/CanvasRenderingContext2D.cpp:
229         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
230
231 2011-02-22  Luiz Agostini  <luiz.agostini@openbossa.org>
232
233         Reviewed by Kenneth Rohde Christiansen.
234
235         [Qt] <select>s on http://www.ryanair.com render wrong
236         https://bugs.webkit.org/show_bug.cgi?id=29647
237
238         Reducing padding in <select> elements to improve its rendering and introducing a
239         rendering adjustment specific to QMacStyle.
240
241         * platform/qt/RenderThemeQt.cpp:
242         (WebCore::RenderThemeQt::setPopupPadding):
243         (WebCore::RenderThemeQt::paintMenuList):
244
245 2011-02-22  Andreas Kling  <kling@webkit.org>
246
247         Reviewed by Dan Bernstein.
248
249         FontCache: Make cTargetInactiveFontData an int instead of float.
250         https://bugs.webkit.org/show_bug.cgi?id=54963
251
252         * platform/graphics/FontCache.cpp:
253
254 2011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
255
256         Reviewed by Darin Adler.
257
258         Make Editor::selectionComputedStyle return EditingStyle
259         https://bugs.webkit.org/show_bug.cgi?id=54933
260
261         Renamed selectionComputedStyle to selectionStartStyle and changed the return type to EditingStyle.
262         It also no longer takes a boolean shouldUseFixedFontDefaultSize.
263
264         Also added EditingStyle::mergeTypingStyle which replaced old editingStyleIncludingTypingStyle. This function
265         doesn't extract inheritable properties prior to merge because this turned out be a bug, which was revealed
266         by an existing layout test only after the code was shared with selectionStartStyle.
267
268         No tests are added since this is a refactoring.
269
270         * editing/CompositeEditCommand.cpp:
271         (WebCore::CompositeEditCommand::moveParagraphs): Calls EditingStyle::create and EditingStyle::mergeTypingStyle.
272         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
273         * editing/EditingStyle.cpp: Removed editingStyleIncludingTypingStyle.
274         (WebCore::EditingStyle::mergeTypingStyle): Added.
275         * editing/EditingStyle.h:
276         (WebCore::EditingStyle::shouldUseFixedDefaultFontSize): Added.
277         * editing/Editor.cpp:
278         (WebCore::Editor::selectionStartHasStyle): Calls selectionStartStyle.
279         (WebCore::Editor::selectionHasStyle): Ditto.
280         (WebCore::Editor::selectionStartCSSPropertyValue): Ditto.
281         (WebCore::Editor::selectionStartStyle): Renamed from selectionComputedStyle; returns EditingStyle.
282         * editing/Editor.h:
283         * editing/EditorCommand.cpp:
284         (WebCore::executeToggleStyleInList): Calls selectionStartStyle.
285         * editing/InsertLineBreakCommand.cpp:
286         * editing/InsertParagraphSeparatorCommand.cpp:
287         (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Calls EditingStyle::create and
288         EditingStyle::mergeTypingStyle.
289         * editing/ReplaceSelectionCommand.cpp:
290         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
291
292 2011-02-22  Robert Hogan  <robert@webkit.org>
293
294         Reviewed by Andreas Kling.
295
296         [Qt] painting of windowed plugins faulty on certain scroll events
297
298         https://bugs.webkit.org/show_bug.cgi?id=52735
299
300         Invalidate the pluginview's relative rect rather then the frameRect(). This is because QWebFrame::renderRelativeCoords()
301         imitates ScrollView and adds the scroll offset back on to the rect we damage here (making the co-ordinates absolute
302         to the frame again) before passing it to FrameView.
303
304         * plugins/qt/PluginViewQt.cpp:
305         (WebCore::PluginView::updatePluginWidget):
306
307 2011-02-22  Philippe Normand  <pnormand@igalia.com>
308
309         Reviewed by Martin Robinson.
310
311         Minimal build broken
312         https://bugs.webkit.org/show_bug.cgi?id=54743
313
314         Moved the code of setInspectorExtensionAPI and
315         dispatchMessageFromFrontend out of #if
316         ENABLE(JAVASCRIPT_DEBUGGER) to fix link error of the minimal build.
317
318         * inspector/InspectorController.cpp:
319         (WebCore::InspectorController::setInspectorExtensionAPI):
320         (WebCore::InspectorController::dispatchMessageFromFrontend):
321
322 2011-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
323
324         Unreviewed, rolling out r79367.
325         http://trac.webkit.org/changeset/79367
326         https://bugs.webkit.org/show_bug.cgi?id=55012
327
328         all layout tests are crashing on Snow Leopard (Requested by
329         rniwa on #webkit).
330
331         * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
332
333 2011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
334
335         Reviewed by Darin Adler.
336
337         Deploy EditingStyle in removeInlineStyleFromElement and removeCSSStyle
338         https://bugs.webkit.org/show_bug.cgi?id=54944
339
340         Deployed EditingStyle in removeInlineStyleFromElement and removeCSSStyle.
341
342         Also extracted EditingStyle::conflictsWithInlineStyleOfElement from ApplyStyleCommand::removeCSSStyle,
343         which returns true iff the specified element has inline style that conflicts or matches the editing style.
344         It also appends conflicting property IDs to the vector of property IDs if one is specified.
345
346         * editing/ApplyStyleCommand.cpp:
347         (WebCore::ApplyStyleCommand::applyBlockStyle): Calls removeCSSStyle.
348         (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitTextElement.
349         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls removeInlineStyleFromElement.
350         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
351         (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto; extracted the logic to decide properties to remove as
352         conflictsWithInlineStyleOfElement.
353         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement.
354         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement.
355         (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
356         (WebCore::ApplyStyleCommand::shouldSplitTextElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
357         * editing/ApplyStyleCommand.h:
358         (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Ditto.
359         * editing/EditingStyle.cpp:
360         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Extracted from ApplyStyleCommand::removeCSSStyle.
361         * editing/EditingStyle.h:
362         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Added.
363
364 2011-02-22  Chang Shu  <cshu@webkit.org>
365
366         Reviewed by Csaba Osztrogonác.
367
368         [Qt] editing/deleting/5408255.html fails
369         https://bugs.webkit.org/show_bug.cgi?id=54964
370
371         Move WebCore resource file to QtWebKit since they are referred in WebKit.
372
373         * WebCore.pro:
374
375 2011-02-22  Brady Eidson  <beidson@apple.com>
376
377         Reviewed by Anders Carlsson.
378
379         <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
380         API to view and delete Application Cache data by origin.
381
382         Implement these to be used by WK2 API:
383         * loader/appcache/ApplicationCacheStorage.cpp:
384         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
385         (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
386
387 2011-02-22  Geoffrey Garen  <ggaren@apple.com>
388
389         Reviewed by Oliver Hunt.
390
391         Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
392         https://bugs.webkit.org/show_bug.cgi?id=54999
393         
394         New WTF header.
395
396         * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
397
398 2011-02-22  Beth Dakin  <bdakin@apple.com>
399
400         Reviewed by Sam Weinig.
401
402         Fix for https://bugs.webkit.org/show_bug.cgi?id=54991 
403         Scrollbar::nativeTheme()->usesOverlayScrollbars() should not be consulted for CSS 
404         Scrollbars
405         -and corresponding-
406         <rdar://problem/9034318>
407
408         Instead of consulting the theme directly, callers should ask the Scrollbar or 
409         ScrollableArea if the scrollbars are overlay or not. 
410
411         * platform/ScrollView.cpp:
412         (WebCore::ScrollView::visibleContentRect):
413         (WebCore::ScrollView::scrollContents):
414         (WebCore::ScrollView::wheelEvent):
415         * platform/ScrollableArea.cpp:
416         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
417         (WebCore::ScrollableArea::hasOverlayScrollbars):
418         * platform/ScrollableArea.h:
419         * platform/Scrollbar.cpp:
420         (WebCore::Scrollbar::isOverlayScrollbar):
421         * platform/Scrollbar.h:
422         * rendering/RenderBox.cpp:
423         (WebCore::RenderBox::includeVerticalScrollbarSize):
424         (WebCore::RenderBox::includeHorizontalScrollbarSize):
425         * rendering/RenderLayer.cpp:
426         (WebCore::RenderLayer::verticalScrollbarWidth):
427         (WebCore::RenderLayer::horizontalScrollbarHeight):
428         * rendering/RenderListBox.cpp:
429         (WebCore::RenderListBox::verticalScrollbarWidth):
430         * rendering/RenderScrollbar.h:
431         (WebCore::RenderScrollbar::isOverlayScrollbar):
432
433 2011-02-22  Andras Becsi  <abecsi@webkit.org>
434
435         Reviewed by Csaba Osztrogonác.
436
437         [Qt] Redesign the build system
438         https://bugs.webkit.org/show_bug.cgi?id=51339
439
440         Move inspector's resource files into the final build step to fix the layout test regression.
441
442         No new tests needed.
443
444         * WebCore.pro: Move inspector's resource files into QtWebKit.pro.
445
446 2011-02-22  Martin Robinson  <mrobinson@igalia.com>
447
448         Reviewed by Xan Lopez.
449
450         [GTK] fast/frames/iframe-scale-applied-twice.html fails after r79167
451         https://bugs.webkit.org/show_bug.cgi?id=54990
452
453         No new tests. This will cause fast/events/scroll-after-click-on-tab-index.html
454         to start passing again.
455
456         * platform/gtk/ScrollViewGtk.cpp:
457         (WebCore::ScrollView::visibleContentRect): Update this method to match the original
458         in the parent class.
459
460 2011-01-17  Martin Robinson  <mrobinson@igalia.com>
461
462         Reviewed by Xan Lopez.
463
464         [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
465         https://bugs.webkit.org/show_bug.cgi?id=49177
466
467         * platform/ScrollView.cpp: Remove the GTK+ guards around the implementation
468         of platformAddChild and platformRemoveChild. This code can be shared.
469         * platform/gtk/MainFrameScrollbarGtk.cpp:
470         (MainFrameScrollbarGtk::attachAdjustment): Prevent re-attaching an already attached
471         adjustment. Connect the adjustment value-changed signal handler after resetting the
472         adjustment. This prevents the rest from stomping on pre-existing WebCore values.
473         (MainFrameScrollbarGtk::gtkValueChanged): If the scrollbar is no longer attached to
474         a scrollview do not listing for value changes. These scrollbars are defunct.
475         * platform/gtk/ScrollViewGtk.cpp: Remove duplicated empty methods.
476
477 2011-02-22  Pavel Feldman  <pfeldman@chromium.org>
478
479         Reviewed by Yury Semikhatsky.
480
481         Web Inspector: refactor InjectedScript : InspectorDOMAgent interaction.
482         https://bugs.webkit.org/show_bug.cgi?id=54954
483
484         * bindings/js/JSInjectedScriptHostCustom.cpp:
485         (WebCore::InjectedScriptHost::toNode):
486         (WebCore::JSInjectedScriptHost::inspect):
487         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
488         (WebCore::InjectedScriptHost::toNode):
489         (WebCore::V8InjectedScriptHost::inspectCallback):
490         * inspector/CodeGeneratorInspector.pm:
491         * inspector/InjectedScript.cpp:
492         (WebCore::InjectedScript::nodeForObjectId):
493         * inspector/InjectedScript.h:
494         * inspector/InjectedScriptHost.cpp:
495         (WebCore::InjectedScriptHost::inspect):
496         * inspector/InjectedScriptHost.h:
497         * inspector/InjectedScriptHost.idl:
498         * inspector/InjectedScriptSource.js:
499         (.):
500         * inspector/Inspector.idl:
501         * inspector/InspectorAgent.cpp:
502         (WebCore::InspectorAgent::focusNode):
503         * inspector/InspectorAgent.h:
504         * inspector/InspectorDOMAgent.cpp:
505         (WebCore::InspectorDOMAgent::inspect):
506         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
507         * inspector/InspectorDOMAgent.h:
508         * inspector/front-end/AuditRules.js:
509         (WebInspector.AuditRules.evaluateInTargetWindow):
510         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
511         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
512         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
513         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
514         * inspector/front-end/ConsoleView.js:
515         (WebInspector.ConsoleView.prototype.completions):
516         * inspector/front-end/DOMAgent.js:
517         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
518         (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
519         * inspector/front-end/RemoteObject.js:
520         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
521
522 2011-02-22  Brady Eidson  <beidson@apple.com>
523
524         Reviewed by Anders Carlsson.
525
526         Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
527         API to view and delete Application Cache data by origin.
528
529         Stub these out for now:
530         * loader/appcache/ApplicationCacheStorage.cpp:
531         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
532         (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
533         (WebCore::ApplicationCacheStorage::deleteAllEntries): Moved implementation here from WebKit/Mac
534         * loader/appcache/ApplicationCacheStorage.h:
535
536         Export the new symbols:
537         * WebCore.exp.in:
538
539 2011-02-22  Anders Carlsson  <andersca@apple.com>
540
541         Fix debug build.
542
543         * WebCore.exp.in:
544
545 2011-02-22  Balazs Kelemen  <kbalazs@webkit.org>
546
547         Reviewed by Anders Carlsson.
548
549         notImplemented() should behave identical in WebCore and WebKit2
550         https://bugs.webkit.org/show_bug.cgi?id=54449
551
552         No functional change so no new tests.
553
554         * WebCore.xcodeproj/project.pbxproj: Add NotImplemented.h as private header
555         to be able to use it in WebKit2.
556
557 2011-02-22  Andras Becsi  <abecsi@webkit.org>
558
559         Reviewed by Laszlo Gombos.
560         Rubber-stamped by Csaba Osztrogonác.
561
562         [Qt] Redesign the build system
563         https://bugs.webkit.org/show_bug.cgi?id=51339
564
565         The patch landed in r79320 didn't contain the cleanup
566         which was already addressed in the last attachment.
567
568         No new tests needed.
569
570         * WebCore.pri: Add common LIB and CONFIG options.
571         * WebCore.pro: Add accidentally moved sections.
572
573 2011-02-22  Philippe Normand  <pnormand@igalia.com>
574
575         Unreviewed, rolling out r79321.
576         http://trac.webkit.org/changeset/79321
577         https://bugs.webkit.org/show_bug.cgi?id=53146
578
579         Regresses  fast/forms/listbox-typeahead-cyrillic.html and fast
580         /spatial-navigation/snav-single-select.html on GTK
581
582         * accessibility/gtk/AXObjectCacheAtk.cpp:
583         (WebCore::notifyChildrenSelectionChange):
584         (WebCore::AXObjectCache::postPlatformNotification):
585
586 2011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
587
588         Reviewed by Yury Semikhatsky.
589
590         Web Inspector: Inspector.IDL change. rename attribute notify -> event.
591         https://bugs.webkit.org/show_bug.cgi?id=54958
592
593         * inspector/CodeGeneratorInspector.pm:
594         * inspector/Inspector.idl:
595
596 2011-02-22  Yury Semikhatsky  <yurys@chromium.org>
597
598         Reviewed by Pavel Feldman.
599
600         Web Inspector: Timeline agent should have same lifetime as InspectorAgent
601         https://bugs.webkit.org/show_bug.cgi?id=54951
602
603         * inspector/CodeGeneratorInspector.pm:
604         * inspector/Inspector.idl:
605         * inspector/InspectorAgent.cpp:
606         (WebCore::InspectorAgent::InspectorAgent):
607         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
608         (WebCore::InspectorAgent::setFrontend):
609         (WebCore::InspectorAgent::disconnectFrontend):
610         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
611         (WebCore::InspectorAgent::didCommitLoad):
612         (WebCore::InspectorAgent::domContentLoadedEventFired):
613         (WebCore::InspectorAgent::loadEventFired):
614         * inspector/InspectorAgent.h:
615         * inspector/InspectorController.cpp:
616         (WebCore::InspectorController::startTimelineProfiler):
617         (WebCore::InspectorController::stopTimelineProfiler):
618         (WebCore::InspectorController::timelineProfilerEnabled):
619         * inspector/InspectorInstrumentation.cpp:
620         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
621         * inspector/InspectorTimelineAgent.cpp:
622         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
623         (WebCore::InspectorTimelineAgent::setFrontend):
624         (WebCore::InspectorTimelineAgent::clearFrontend):
625         (WebCore::InspectorTimelineAgent::restore):
626         (WebCore::InspectorTimelineAgent::startTimelineProfiler):
627         (WebCore::InspectorTimelineAgent::stopTimelineProfiler):
628         (WebCore::InspectorTimelineAgent::timelineProfilerStarted):
629         (WebCore::InspectorTimelineAgent::didCommitLoad):
630         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
631         (WebCore::InspectorTimelineAgent::clearRecordStack):
632         * inspector/InspectorTimelineAgent.h:
633         (WebCore::InspectorTimelineAgent::create):
634         * inspector/front-end/TimelinePanel.js:
635         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
636
637 2011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
638
639         Reviewed by Pavel Feldman.
640
641         Web Inspector: flakyness of inspector tests.
642         https://bugs.webkit.org/show_bug.cgi?id=54729
643
644         As far as we have the protocol with sequence numbers we can simplify test harness support
645         and drop out chomium specific methods.
646
647         * inspector/CodeGeneratorInspector.pm:
648         * inspector/front-end/TestController.js:
649         (WebInspector.TestController):
650         (WebInspector.TestController.prototype.notifyDone):
651         (WebInspector.TestController.prototype.runAfterPendingDispatches):
652         (WebInspector.TestController.prototype._evaluateForTestInFrontend):
653         * inspector/front-end/inspector.js:
654         (WebInspector.dispatch):
655
656 2011-02-22  Mario Sanchez Prada  <msanchez@igalia.com>
657
658         Reviewed by Martin Robinson.
659
660         [GTK] Combo boxes should emit object:selection-changed even when collapsed
661         https://bugs.webkit.org/show_bug.cgi?id=53146
662
663         Emit the selection-changed signals when the menu list value has changed
664
665         Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
666
667         * accessibility/gtk/AXObjectCacheAtk.cpp:
668         (WebCore::getListObject): New, return the right list object for
669         menu lists and list boxes.
670         (WebCore::notifyChildrenSelectionChange): Support menu lists.
671         (WebCore::AXObjectCache::postPlatformNotification): Call function
672         notifyChildrenSelectionChange for AXMenuListValueChanged.
673
674 2011-02-22  Andras Becsi  <abecsi@webkit.org>
675
676         Reviewed by Laszlo Gombos.
677
678         [Qt] Redesign the build system
679         https://bugs.webkit.org/show_bug.cgi?id=51339
680
681         Part 2.
682
683         Build WebCore as a static library, compile the WebKit API and WebKit2 API
684         in a final step and link to WebKit2, WebCore and JSC libraries to fix
685         linking issues resulting from stripped away symbols.
686
687         No new tests needed.
688
689         * WebCore.pri: Add needed rules for handling the static library.
690         * WebCore.pro: Reorganize API and linker options to QtWebKit.pro.
691
692 2011-02-22  Pavel Podivilov  <podivilov@chromium.org>
693
694         Reviewed by Pavel Feldman.
695
696         Web Inspector: [REGRESSION] navigation does not work when inspector is opened.
697         https://bugs.webkit.org/show_bug.cgi?id=54947
698
699         * inspector/InspectorAgent.cpp:
700         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
701         * inspector/InspectorState.cpp:
702         (WebCore::InspectorState::loadFromCookie):
703         * inspector/InspectorState.h:
704
705 2011-02-15  Jer Noble  <jer.noble@apple.com>
706
707         Reviewed by Darin Adler.
708
709         Built-in HTML5 <audio> (and sometimes <video>) UI doesn't update playhead location or time displays
710         https://bugs.webkit.org/show_bug.cgi?id=46142
711
712         Push a LayoutStateMaintainer in RenderMedia::layout() before calling layout() on the
713         container elements.  This is necessary because, during layout(), the child renderers
714         query the current LayoutState to determine where they will be repainting.  If a new
715         LayoutState is not pushed here, child renderers will attempt to repaint relative to
716         their grandparent's origin instead of their parents', and repaint operations will fail.
717
718         * rendering/RenderMedia.cpp:
719         (WebCore::RenderMedia::layout):
720
721 2011-02-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
722
723         Reviewed by Kenneth Rohde Christiansen.
724
725         Cleaning: remove a overzealous check for the pointer "files" from Chrome::setToolTip()
726         https://bugs.webkit.org/show_bug.cgi?id=54952
727
728         Remove the unnecessary condition from the if(), HTMLInputElement::files() always return
729         a valid reference for the input type FileInputType. 
730
731         * page/Chrome.cpp:
732         (WebCore::Chrome::setToolTip):
733
734 2011-02-21  Pavel Podivilov  <podivilov@chromium.org>
735
736         Reviewed by Pavel Feldman.
737
738         Web Inspector: extract source mapping from SourceFrame to DebuggerPresentationModel.
739         https://bugs.webkit.org/show_bug.cgi?id=54645
740
741         This is needed to map one script to several source files.
742
743         Test: inspector/debugger/source-frame.html
744
745         * WebCore.gypi:
746         * WebCore.vcproj/WebCore.vcproj:
747         * inspector/front-end/DebuggerPresentationModel.js: Added.
748         (WebInspector.DebuggerPresentationModel):
749         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceName):
750         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
751         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
752         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
753         (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
754         (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
755         * inspector/front-end/ScriptsPanel.js:
756         (WebInspector.ScriptsPanel):
757         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
758         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
759         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
760         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
761         (WebInspector.ScriptsPanel.prototype._addSourceFrame):
762         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
763         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
764         (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
765         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
766         (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
767         * inspector/front-end/SourceFrame.js:
768         (WebInspector.SourceFrame.prototype.get loaded):
769         (WebInspector.SourceFrame.prototype._createTextViewer):
770         (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
771         (WebInspector.SourceFrame.prototype.setExecutionLine):
772         (WebInspector.SourceFrame.prototype.clearExecutionLine):
773         (WebInspector.SourceFrame.prototype.addBreakpoint):
774         (WebInspector.SourceFrame.prototype.removeBreakpoint):
775         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
776         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
777         (WebInspector.SourceFrame.prototype._findBreakpoint.filter):
778         (WebInspector.SourceFrame.prototype._findBreakpoint):
779         * inspector/front-end/WebKit.qrc:
780         * inspector/front-end/inspector.html:
781
782 2011-02-22  Andrey Kosyakov  <caseq@chromium.org>
783
784         Reviewed by Pavel Feldman.
785
786         Web Inspector: provide a button to expand inspector toolbar when not all panel buttons fit
787         https://bugs.webkit.org/show_bug.cgi?id=54671
788
789         - factored toolbar handling out of inspector.js
790         - added toolbar dropdown
791
792         * WebCore.gypi:
793         * WebCore.vcproj/WebCore.vcproj:
794         * inspector/front-end/ExtensionServer.js:
795         (WebInspector.ExtensionServer.prototype._onCreatePanel):
796         * inspector/front-end/Panel.js:
797         (WebInspector.Panel.prototype.get toolbarItem):
798         * inspector/front-end/Toolbar.js: Added.
799         (WebInspector.Toolbar):
800         (WebInspector.Toolbar.prototype.resize):
801         (WebInspector.Toolbar.prototype.addPanel):
802         (WebInspector.Toolbar.prototype._toolbarDragStart):
803         (WebInspector.Toolbar.prototype._toolbarDragEnd):
804         (WebInspector.Toolbar.prototype._toolbarDrag):
805         (WebInspector.Toolbar.prototype._onClose):
806         (WebInspector.Toolbar.prototype._setDropdownVisible):
807         (WebInspector.Toolbar.prototype._toggleDropdown):
808         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
809         (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
810         (WebInspector.Toolbar.createPanelToolbarItem):
811         (WebInspector.ToolbarDropdown):
812         (WebInspector.ToolbarDropdown.prototype.show):
813         (WebInspector.ToolbarDropdown.prototype.hide):
814         (WebInspector.ToolbarDropdown.prototype.get visible):
815         (WebInspector.ToolbarDropdown.prototype._populate):
816         (WebInspector.ToolbarDropdown.prototype._onKeyDown):
817         * inspector/front-end/WebKit.qrc:
818         * inspector/front-end/inspector.css:
819         (#toolbar):
820         (.toolbar-item):
821         (.toolbar-item.toggleable):
822         (.toolbar-item.toggleable.toggled-on):
823         (#toolbar-dropdown .toolbar-icon):
824         (#toolbar-dropdown .toolbar-label):
825         (#toolbar-controls):
826         (#toolbar-dropdown-arrow):
827         (body.attached #toolbar-dropdown-arrow):
828         (#toolbar-dropdown-arrow.dropdown-visible):
829         (#toolbar-dropdown-arrow:hover):
830         (#toolbar-dropdown-arrow:active):
831         (#toolbar-dropdown):
832         (body.detached.platform-mac-snowleopard #toolbar-dropdown):
833         (#toolbar-dropdown .scrollable-content):
834         (#toolbar-dropdown .toolbar-item):
835         (#toolbar-dropdown .toolbar-item.toggleable.toggled-on):
836         (#toolbar-dropdown .toolbar-item:hover):
837         (#toolbar-dropdown .toolbar-item.toggleable.toggled-on:hover):
838         (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
839         (.scrollable-content):
840         (.scrollable-content::-webkit-scrollbar):
841         (.scrollable-content::-webkit-resizer):
842         (.scrollable-content::-webkit-scrollbar-thumb:vertical):
843         (.scrollable-content::-webkit-scrollbar-thumb:vertical:active):
844         (.scrollable-content::-webkit-scrollbar-track:vertical):
845         (.toolbar-search-item):
846         (#search):
847         (body.attached #search):
848         (#search-results-matches):
849         (#close-button-left, #close-button-right):
850         (.close-left):
851         * inspector/front-end/inspector.html:
852         * inspector/front-end/inspector.js:
853         (WebInspector.set attached):
854         (WebInspector.addPanel):
855         (WebInspector.windowResize):
856
857 2011-02-22  Philippe Normand  <pnormand@igalia.com>
858
859         Reviewed by Xan Lopez.
860
861         [GTK] make distcheck fails
862         https://bugs.webkit.org/show_bug.cgi?id=54943
863
864         Added new headers and removed references to deleted files.
865
866         * GNUmakefile.am:
867
868 2011-02-21  Yury Semikhatsky  <yurys@chromium.org>
869
870         Reviewed by Pavel Feldman.
871
872         Web Inspector: make DOM storage and Database agents have the same lifetime as InspectorAgent
873         https://bugs.webkit.org/show_bug.cgi?id=54891
874
875         * inspector/InspectorAgent.cpp:
876         (WebCore::InspectorAgent::InspectorAgent):
877         (WebCore::InspectorAgent::setFrontend):
878         (WebCore::InspectorAgent::disconnectFrontend):
879         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
880         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
881         (WebCore::InspectorAgent::didCommitLoad):
882         * inspector/InspectorAgent.h:
883         (WebCore::InspectorAgent::instrumentingAgents):
884         * inspector/InspectorDOMStorageAgent.cpp:
885         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
886         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
887         (WebCore::InspectorDOMStorageAgent::setFrontend):
888         (WebCore::InspectorDOMStorageAgent::clearFrontend):
889         (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
890         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
891         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
892         (WebCore::InspectorDOMStorageAgent::clearResources):
893         * inspector/InspectorDOMStorageAgent.h:
894         (WebCore::InspectorDOMStorageAgent::create):
895         * inspector/InspectorDatabaseAgent.cpp:
896         (WebCore::InspectorDatabaseAgent::didOpenDatabase):
897         (WebCore::InspectorDatabaseAgent::clearResources):
898         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
899         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
900         (WebCore::InspectorDatabaseAgent::setFrontend):
901         (WebCore::InspectorDatabaseAgent::clearFrontend):
902         (WebCore::InspectorDatabaseAgent::databaseForId):
903         (WebCore::InspectorDatabaseAgent::selectDatabase):
904         * inspector/InspectorDatabaseAgent.h:
905         (WebCore::InspectorDatabaseAgent::create):
906         * inspector/InspectorInstrumentation.cpp:
907         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
908         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
909
910 2011-02-22  Steve Lacey  <sjl@chromium.org>
911
912         Reviewed by Darin Fisher.
913
914         Rename new media statistics apis to better names
915
916         https://bugs.webkit.org/show_bug.cgi?id=54784
917
918         * html/HTMLMediaElement.cpp:
919         (WebCore::HTMLMediaElement::webkitAudioDecodedByteCount):
920         (WebCore::HTMLMediaElement::webkitVideoDecodedByteCount):
921         * html/HTMLMediaElement.h:
922         * html/HTMLMediaElement.idl:
923         * html/HTMLVideoElement.cpp:
924         (WebCore::HTMLVideoElement::webkitDecodedFrameCount):
925         (WebCore::HTMLVideoElement::webkitDroppedFrameCount):
926         * html/HTMLVideoElement.h:
927         * html/HTMLVideoElement.idl:
928         * platform/graphics/MediaPlayer.cpp:
929         (WebCore::MediaPlayer::decodedFrameCount):
930         (WebCore::MediaPlayer::droppedFrameCount):
931         (WebCore::MediaPlayer::audioDecodedByteCount):
932         (WebCore::MediaPlayer::videoDecodedByteCount):
933         * platform/graphics/MediaPlayer.h:
934         * platform/graphics/MediaPlayerPrivate.h:
935         (WebCore::MediaPlayerPrivateInterface::decodedFrameCount):
936         (WebCore::MediaPlayerPrivateInterface::droppedFrameCount):
937         (WebCore::MediaPlayerPrivateInterface::audioDecodedByteCount):
938         (WebCore::MediaPlayerPrivateInterface::videoDecodedByteCount):
939
940 2011-02-21  Roland Steiner  <rolandsteiner@chromium.org>
941
942         Reviewed by Kent Tamura.
943
944         Bug 54435 - Simplify CSSStyleSelector::canShareStyleWithElement
945         https://bugs.webkit.org/show_bug.cgi?id=54435
946
947         Changed the function to a series of early-exit 'if's,
948         removed most temporary variables.
949
950         No new tests. (refactoring)
951
952         * css/CSSStyleSelector.cpp:
953         (WebCore::CSSStyleSelector::canShareStyleWithElement):
954
955 2011-02-21  Nico Weber  <thakis@chromium.org>
956
957         Reviewed by James Robinson.
958
959         [chromium] PopupContainer::show() confuses clang's -Woverloaded-virtual
960         https://bugs.webkit.org/show_bug.cgi?id=54923
961
962         Rename PopupContainer::show() to showInRect(), to make it obvious it's
963         not an override of ScrollView::show().
964
965         No intended functionality change.
966
967         * platform/chromium/PopupMenuChromium.cpp:
968         (WebCore::PopupContainer::showInRect):
969         (WebCore::PopupMenuChromium::show):
970         * platform/chromium/PopupMenuChromium.h:
971
972 2011-02-21  Julien Chaffraix  <jchaffraix@codeaurora.org>
973
974         Reviewed by Antti Koivisto.
975
976         Improve the local{SharedStyle,CousinList} algorithm
977         https://bugs.webkit.org/show_bug.cgi?id=45507
978
979         This change improves the algorithm to find shared styles: the old
980         algorithm would stop the search after the first cousin, even if
981         the search threshold is not met. As such, the algorithm would
982         systematically miss sharings across second cousins and beyond.
983         The new algorithm continues the search, as long as threshold is
984         not met. It also separates the threshold for sibling/cousins
985         search, from that on the levels of search, which is easier to
986         optimize.
987         The new algorithm finds up to 30% more sharings on some sites
988         (e.g. amazon.com and rakuten.co.jp) with no noticeable slowdown.
989
990         No new test, refactoring only.
991
992         * css/CSSStyleSelector.cpp:
993         (WebCore::CSSStyleSelector::locateCousinList):
994         (WebCore::CSSStyleSelector::locateSharedStyle):
995         While changing the algorithm, cleaned up the style of those 2 methods
996         (use early return, renamed some variables).
997
998         * css/CSSStyleSelector.h:
999
1000 2011-02-21  Nico Weber  <thakis@chromium.org>
1001
1002         Reviewed by Adam Barth.
1003
1004         RenderTableCell::baselinePosition() confuses clang's -Woverloaded-virtual
1005         https://bugs.webkit.org/show_bug.cgi?id=54922
1006
1007         RenderTableCell::baselinePosition() has the same name as a virtual
1008         method in superclass RenderBlock. Rename the subclass method to make
1009         it clear it's not an attempted override.
1010
1011         No intended functionality change.
1012
1013         * rendering/RenderTableCell.cpp:
1014         (WebCore::RenderTableCell::cellBaselinePosition):
1015         * rendering/RenderTableCell.h:
1016         * rendering/RenderTableSection.cpp:
1017         (WebCore::RenderTableSection::calcRowLogicalHeight):
1018         (WebCore::RenderTableSection::layoutRows):
1019
1020 2011-02-21  Benjamin Kalman  <kalman@chromium.org>
1021
1022         Reviewed by Ryosuke Niwa.
1023
1024         Extending selection by a boundary granularity (LineBoundary/ParagraphBoundary/DocumentBoundary) sets incorrect
1025         start/end of selection for RTL
1026         https://bugs.webkit.org/show_bug.cgi?id=54724
1027
1028         On mac, the selection should always grow when extending by a boundary granularity (line/paragraph/document).
1029         This is achieved by extending from the start for the "left" direction (e.g. pressing left arrow key), or
1030         extending from the end when for the "right" direction (e.g. pressing right arrow key).
1031
1032         However, this has a bug for RTL text, which should actually extend from the *end* when extending left (since
1033         direction is obviously reversed) and likewise extend from the start when extending right.
1034
1035         * editing/SelectionController.cpp:
1036         (WebCore::SelectionController::modify):
1037
1038 2011-02-21  Nico Weber  <thakis@chromium.org>
1039
1040         Reviewed by Adam Barth.
1041
1042         ImageDocument::imageChanged() confuses clang's -Woverride-virtual
1043         https://bugs.webkit.org/show_bug.cgi?id=54924
1044
1045         Rename ImageDocument::imageChanged() to imageUpdated() to make clear
1046         that it's not an override of CachedResourceClient::imageChanged().
1047
1048         * html/ImageDocument.cpp:
1049         (WebCore::ImageDocumentParser::appendBytes):
1050         (WebCore::ImageDocumentParser::finish):
1051         (WebCore::ImageDocument::imageUpdated):
1052         * html/ImageDocument.h:
1053
1054 2011-02-21  Roland Steiner  <rolandsteiner@chromium.org>
1055
1056         Reviewed by Kent Tamura.
1057
1058         Bug 54934 - Sort the WebCore project file(s)
1059         https://bugs.webkit.org/show_bug.cgi?id=54934
1060
1061         No new tests. (no code affected)
1062
1063         * GNUmakefile.am:
1064         * WebCore.xcodeproj/project.pbxproj:
1065
1066 2011-02-21  Nico Weber  <thakis@chromium.org>
1067
1068         Reviewed by Adam Barth.
1069
1070         canAccommodateEllipsis() confuses clang's -Woverloaded-virtual
1071         https://bugs.webkit.org/show_bug.cgi?id=54909
1072
1073         Rename the overload in RootInlineBox to lineCanAccomodateEllipsis() to
1074         unconfuse clang. No intended functionality change.
1075
1076         * rendering/RenderBlockLineLayout.cpp:
1077         (WebCore::RenderBlock::checkLinesForTextOverflow):
1078         * rendering/RenderFlexibleBox.cpp:
1079         (WebCore::RenderFlexibleBox::applyLineClamp):
1080         * rendering/RootInlineBox.cpp:
1081         (WebCore::RootInlineBox::lineCanAccommodateEllipsis):
1082         * rendering/RootInlineBox.h:
1083
1084 2011-02-21  Adele Peterson  <adele@apple.com>
1085
1086         Reviewed by Dan Bernstein.
1087
1088         Fix for for https://bugs.webkit.org/show_bug.cgi?id=54402
1089         REGRESSION (r72052): Placeholder text doesn't have the right padding for search fields on Windows
1090
1091         Test: updated fast/forms/placeholder-position.html and tested manually
1092
1093         Consider padding and margin for the results and cancel buttons.  This is important for the Windows 
1094         theme which uses padding to correctly position those buttons.  This change fixes the placeholder 
1095         position, and also better aligns the results popup list with the actual text you type.
1096
1097         * rendering/RenderTextControlSingleLine.cpp:
1098         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
1099         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
1100
1101 2011-02-21  Nico Weber  <thakis@chromium.org>
1102
1103         Reviewed by Kent Tamura.
1104
1105         GIFImageDecoder::setSize() tries to override the superclass method but fails
1106         https://bugs.webkit.org/show_bug.cgi?id=54305
1107
1108         The superclass uses unsigned instead of int for its parameters, so
1109         GIFImageDecoder::setSize() was an overload, not an override.
1110
1111         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1112         (WebCore::GIFImageDecoder::setSize):
1113         * platform/image-decoders/gif/GIFImageDecoder.h:
1114
1115 2011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
1116
1117         Reviewed by Darin Adler.
1118
1119         Deploy EditingStyle more in ApplyStyleCommand and do some cleanup
1120         https://bugs.webkit.org/show_bug.cgi?id=54528
1121
1122         * editing/ApplyStyleCommand.cpp:
1123         (WebCore::StyleChange::init): Allows style to be a null pointer.
1124         (WebCore::ApplyStyleCommand::applyInlineStyle): Overrides the value of text-decoration property by that of
1125         -webkit-text-decorations-in-effect and remove the latter property when present. This allows removeImplicitlyStyledElement
1126         to ignore -webkit-text-decorations-in-effect. Also uses the return value of EditingStyle::textDirection to determine
1127         whether or not we need to apply unicode-bidi / direction instead of directly checking the value of unicode-bidi property.
1128         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
1129         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Ditto.
1130         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Ditto.
1131         (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto.
1132         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Ditto.
1133         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Ditto.
1134         (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto; no longer collapse text decoration properties because
1135         ApplyStyleCommand::applyInlineStyle already does it.
1136         * editing/ApplyStyleCommand.h:
1137         * editing/EditingStyle.cpp:
1138         (WebCore::EditingStyle::textDirection): Exits early when m_mutableStyle is null.
1139         (WebCore::EditingStyle::collapseTextDecorationProperties): Extracted from ApplyStyleCommand::removeInlineStyle.
1140         * editing/EditingStyle.h:
1141
1142 2011-02-21  Mark Rowe  <mrowe@apple.com>
1143
1144         Reviewed by Darin Adler and Alexey Proskuryakov.
1145
1146         <http://webkit.org/b/54919> / <rdar://problem/7689300> WebCore should retrieve unclamped frame delays from ImageIO
1147
1148         * platform/graphics/cg/ImageSourceCG.cpp:
1149         (WebCore::ImageSource::frameDurationAtIndex): Look for the unclamped frame delay in the
1150         frame properties dictionary and use that if it exists. If it does not exist in the
1151         dictionary then fall back to using the clamped frame delay.
1152
1153 2011-02-21  James Kozianski  <koz@chromium.org>
1154
1155         Reviewed by Kent Tamura.
1156
1157         Causes elements to be unfocusable after tabindex property is removed.
1158         https://bugs.webkit.org/show_bug.cgi?id=54727
1159
1160         Test: fast/html/tabindex-removal.html
1161
1162         * dom/Node.cpp:
1163         (WebCore::Node::clearTabIndexExplicitly):
1164         * dom/Node.h:
1165         * dom/NodeRareData.h:
1166         (WebCore::NodeRareData::clearTabIndexExplicitly):
1167         * html/HTMLElement.cpp:
1168         (WebCore::HTMLElement::parseMappedAttribute):
1169
1170 2011-02-21  Alexey Proskuryakov  <ap@apple.com>
1171
1172         Reviewed by Mark Rowe.
1173
1174         <rdar://problem/8995483> Remove stubs of unneeded NSURLAuthenticationChallengeSender methods
1175
1176         * platform/network/mac/AuthenticationMac.mm: Remove the stubs that are no longer needed.
1177
1178 2011-02-21  Sam Weinig  <sam@webkit.org>
1179
1180         Reviewed by Dan Bernstein.
1181
1182         Overhang areas need to be invalidated on scroll
1183         <rdar://problem/9032194>
1184         https://bugs.webkit.org/show_bug.cgi?id=54917
1185
1186         * platform/ScrollView.cpp:
1187         (WebCore::ScrollView::scrollContents):
1188         We need to explicitly invalidate the overhang areas when we scroll the contents
1189         of a ScrollView, since they could contain arbitrary content that cannot be blitted.
1190
1191 2011-02-21  Lucas Forschler  <lforschler@apple.com>
1192
1193         Reviewed by Stephanie Lewis.
1194
1195         Fix the Leopard Debug build by incorporating the RenderSVGAllInOne.cpp
1196
1197         No new tests required.
1198
1199         * WebCore.xcodeproj/project.pbxproj:
1200
1201 2011-02-21  Pratik Solanki  <psolanki@apple.com>
1202
1203         Reviewed by Darin Adler.
1204
1205         Remove global initializer in CookieStorageCFNet.cpp
1206         https://bugs.webkit.org/show_bug.cgi?id=54905
1207
1208         * platform/network/cf/CookieStorageCFNet.cpp:
1209         (WebCore::currentCookieStorage):
1210         (WebCore::setCurrentCookieStorage):
1211         (WebCore::setCookieStoragePrivateBrowsingEnabled):
1212
1213 2011-02-18  Jer Noble  <jer.noble@apple.com>
1214
1215         Reviewed by Sam Weinig.
1216
1217         WebKit2: Media document videos play only sound, no video (affects trailers.apple.com)
1218         https://bugs.webkit.org/show_bug.cgi?id=54771
1219
1220         Now that video is accelerated, we no longer need to special case
1221         video playing within a media document.
1222
1223         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1224         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
1225         (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
1226
1227 2011-02-21  Alexey Proskuryakov  <ap@apple.com>
1228
1229         Reviewed by Adam Roben.
1230
1231         REGRESSION (WebKit2): HTTP requests time out after 60 seconds
1232         https://bugs.webkit.org/show_bug.cgi?id=54755
1233         <rdar://problem/9006592>
1234
1235         No new tests - it won't be great to have a test that runs for a minute.
1236
1237         It's now possible to set a default timeout to be used at ResourceRequest creation. If one
1238         hasn't been set, ResourceRequest will behave as before (use NSURLRequest default on Mac,
1239         or use INT_MAX on other platforms).
1240
1241         * WebCore.exp.in:
1242         * platform/network/ResourceRequestBase.cpp:
1243         (WebCore::ResourceRequestBase::defaultTimeoutInterval): Get the ResourceRequest notion of
1244         default timeout interval (may be 0 if using NSURLRequest default).
1245         (WebCore::ResourceRequestBase::setDefaultTimeoutInterval): Set the static member variable.
1246         (WebCore::ResourceRequestBase::updatePlatformRequest): Added an assertion that resource
1247         request is updated. Plaform code often calls updateResourceRequest() indirectly from this
1248         function, and that must obviously be a no-op.
1249         (WebCore::ResourceRequestBase::updateResourceRequest): Added an assertion in the opposite
1250         direction.
1251         * platform/network/ResourceRequestBase.h: Changed "unspecifiedTimeoutInterval" to
1252         "defaultTimeoutInterval". It has been used as default by most platforms anyway.
1253         (WebCore::ResourceRequestBase::ResourceRequestBase):
1254
1255         * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest):
1256         Now zero is the magic value, not INT_MAX. We'll use NSURLRequest default if neither
1257         setTimeoutInterval() nor setDefaultTimeoutInterval() has been called.
1258
1259 2011-02-21  Martin Robinson  <mrobinson@igalia.com>
1260
1261         Reviewed by Xan Lopez.
1262
1263         [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails
1264         https://bugs.webkit.org/show_bug.cgi?id=54895
1265
1266         Correct the GTK+ clipboard implementation to know that "text" is an alias
1267         for "text/html" data. This corrects the failing test.
1268
1269         * platform/gtk/ClipboardGtk.cpp:
1270         (WebCore::dataObjectTypeFromHTMLClipboardType): Accept "text" as well as "Text".
1271         (WebCore::ClipboardGtk::types): Advertise "text" as well as "Text".
1272
1273 2011-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
1274
1275         Reviewed by Pavel Feldman.
1276
1277         ProcessingInstruction should provide a way to know if it is of CSS type.
1278         https://bugs.webkit.org/show_bug.cgi?id=54868
1279
1280         * dom/ProcessingInstruction.cpp:
1281         (WebCore::ProcessingInstruction::ProcessingInstruction):
1282         (WebCore::ProcessingInstruction::checkStyleSheet):
1283         (WebCore::ProcessingInstruction::setCSSStyleSheet):
1284         * dom/ProcessingInstruction.h:
1285         (WebCore::ProcessingInstruction::isCSS):
1286
1287 2011-02-21  Simon Fraser  <simon.fraser@apple.com>
1288
1289         Put JSDOMImplementationCustom.cpp where it belongs in the project.
1290
1291         * WebCore.xcodeproj/project.pbxproj:
1292
1293 2011-02-21  Gavin Barraclough  <barraclough@apple.com>
1294
1295         Reviewed by Sam Weinig.
1296
1297         Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
1298
1299         The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
1300         containing a pointer to its parent class. These links should reflect the inheritance
1301         hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
1302         entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
1303         since intervening C++ classes may not have ClassInfo - but would be a potential bug
1304         were ClassInfo were to be added.
1305
1306         * bindings/js/JSAudioConstructor.cpp:
1307         * bindings/js/JSDOMGlobalObject.cpp:
1308         * bindings/js/JSImageConstructor.cpp:
1309         * bindings/js/JSOptionConstructor.cpp:
1310         * bindings/scripts/CodeGeneratorJS.pm:
1311         * bridge/objc/objc_runtime.mm:
1312         * bridge/runtime_object.cpp:
1313
1314 2011-02-21  Pavel Feldman  <pfeldman@chromium.org>
1315
1316         Reviewed by Yury Semikhatsky.
1317
1318         Web Inspector: navigation does not work after reopening frontend.
1319         https://bugs.webkit.org/show_bug.cgi?id=54879
1320
1321         Test: http/tests/inspector-enabled/open-close-open.html
1322
1323         * inspector/InspectorAgent.cpp:
1324         (WebCore::InspectorAgent::setFrontend):
1325         * inspector/InspectorState.cpp:
1326         (WebCore::InspectorState::unmute):
1327         * inspector/InspectorState.h:
1328
1329 2011-02-21  Adam Roben  <aroben@apple.com>
1330
1331         Protect the PluginView when evaluating javascript: URLs
1332
1333         Fixes <http://webkit.org/b/54884> <rdar://problem/9030864>
1334         plugins/get-url-with-javascript-destroying-plugin.html crashing on Windows since it was
1335         added
1336
1337         Reviewed by Sam Weinig.
1338
1339         * plugins/PluginView.cpp:
1340         (WebCore::PluginView::performRequest): Protect the PluginView, not just its parent frame,
1341         when evaluating javascript: URLs.
1342
1343 2011-02-21  Martin Robinson  <mrobinson@igalia.com>
1344
1345         Fix GTK+ build after r79223.
1346
1347         * GNUmakefile.am: Add file missing from the source list.
1348
1349 2011-02-14  Alexander Pavlov  <apavlov@chromium.org>
1350
1351         Reviewed by Yury Semikhatsky.
1352
1353         Web Inspector: audits should not warn about gzip compression for 304s
1354         https://bugs.webkit.org/show_bug.cgi?id=54343
1355
1356         Do not run compression-related audits on 304 resources.
1357         Drive-by: handle multi-encoding resources (Content-Encoding: sdhc,gzip) correctly.
1358
1359         * inspector/front-end/AuditRules.js:
1360         (WebInspector.AuditRules.GzipRule.prototype.doRun):
1361         (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
1362
1363 2011-02-08  Anton Muhin  <antonm@chromium.org>
1364
1365        Reviewed by Adam Barth and Alexey Proskuryakov.
1366
1367        Propagate security origin of parent document into HTML documents created with DOMImplementation
1368        https://bugs.webkit.org/show_bug.cgi?id=53611
1369
1370        This restores invariant that JS wrappers residing in the same JS context should come
1371        from the same security origin.
1372
1373        Absence of regressions is covered by the current tests.  Different security origin of
1374        DOMImplementation is difficult to check with layout tests as DOMImplementation
1375        resides in the same JS context as parent document and therefore there are no security origin checks.
1376        This is observable however in C++.
1377
1378        * Android.jscbindings.mk:
1379        * CMakeLists.txt:
1380        * WebCore.gypi:
1381        * WebCore.pro:
1382        * WebCore.vcproj/WebCore.vcproj:
1383        * WebCore.xcodeproj/project.pbxproj:
1384        * bindings/v8/V8GCController.cpp:
1385        (WebCore::NodeGrouperVisitor::visitDOMWrapper):
1386        * dom/DOMImplementation.cpp:
1387        (WebCore::DOMImplementation::DOMImplementation):
1388        (WebCore::DOMImplementation::createDocument):
1389        * dom/DOMImplementation.h:
1390        (WebCore::DOMImplementation::create):
1391        (WebCore::DOMImplementation::documentDestroyed):
1392        (WebCore::DOMImplementation::parentDocument):
1393        * dom/DOMImplementation.idl:
1394        * dom/Document.cpp:
1395        (WebCore::Document::~Document):
1396        (WebCore::Document::implementation):
1397        * dom/Document.h:
1398
1399 2011-02-21  Andrey Adaikin  <aandrey@google.com>
1400
1401         Reviewed by Pavel Feldman.
1402
1403         Web Inspector: [Text editor] Optimize editing updates in gutter panel
1404         https://bugs.webkit.org/show_bug.cgi?id=54866
1405
1406         * inspector/front-end/TextViewer.js:
1407         (WebInspector.TextViewer.prototype.set startEditingListener):
1408         (WebInspector.TextViewer.prototype.set endEditingListener):
1409         (WebInspector.TextViewer.prototype.endUpdates):
1410         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
1411         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
1412         (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
1413         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
1414         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
1415         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
1416
1417 2011-02-21  Alexander Pavlov  <apavlov@chromium.org>
1418
1419         Reviewed by Yury Semikhatsky.
1420
1421         Web Inspector: [Audits] Image dimensions in inline style not checked
1422         https://bugs.webkit.org/show_bug.cgi?id=54738
1423
1424         * inspector/front-end/AuditRules.js:
1425         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1426
1427 2011-02-21  Yury Semikhatsky  <yurys@chromium.org>
1428
1429         Reviewed by Pavel Feldman.
1430
1431         Web Inspector: create and destroy DOM agent along with InspectorAgent
1432         https://bugs.webkit.org/show_bug.cgi?id=54875
1433
1434         * GNUmakefile.am:
1435         * WebCore.gypi:
1436         * WebCore.pro:
1437         * WebCore.vcproj/WebCore.vcproj:
1438         * WebCore.xcodeproj/project.pbxproj:
1439         * inspector/InstrumentingAgents.h: Added. Agents that want to instrument WebCore should register themselve
1440         on this object.
1441         (WebCore::InstrumentingAgents::InstrumentingAgents):
1442         (WebCore::InstrumentingAgents::~InstrumentingAgents):
1443         (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent):
1444         (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent):
1445         (WebCore::InstrumentingAgents::inspectorConsoleAgent):
1446         (WebCore::InstrumentingAgents::setInspectorConsoleAgent):
1447         (WebCore::InstrumentingAgents::inspectorDOMAgent):
1448         (WebCore::InstrumentingAgents::setInspectorDOMAgent):
1449         (WebCore::InstrumentingAgents::inspectorDOMStorageAgent):
1450         (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent):
1451         (WebCore::InstrumentingAgents::inspectorDatabaseAgent):
1452         (WebCore::InstrumentingAgents::setInspectorDatabaseAgent):
1453         (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
1454         (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
1455         (WebCore::InstrumentingAgents::inspectorProfilerAgent):
1456         (WebCore::InstrumentingAgents::setInspectorProfilerAgent):
1457         (WebCore::InstrumentingAgents::inspectorResourceAgent):
1458         (WebCore::InstrumentingAgents::setInspectorResourceAgent):
1459         (WebCore::InstrumentingAgents::inspectorRuntimeAgent):
1460         (WebCore::InstrumentingAgents::setInspectorRuntimeAgent):
1461         (WebCore::InstrumentingAgents::inspectorStorageAgent):
1462         (WebCore::InstrumentingAgents::setInspectorStorageAgent):
1463         (WebCore::InstrumentingAgents::inspectorTimelineAgent):
1464         (WebCore::InstrumentingAgents::setInspectorTimelineAgent):
1465         * inspector/InspectorAgent.cpp:
1466         (WebCore::InspectorAgent::InspectorAgent):
1467         (WebCore::InspectorAgent::setFrontend):
1468         (WebCore::InspectorAgent::disconnectFrontend):
1469         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
1470         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
1471         (WebCore::InspectorAgent::didCommitLoad):
1472         (WebCore::InspectorAgent::domContentLoadedEventFired):
1473         (WebCore::InspectorAgent::loadEventFired):
1474         * inspector/InspectorAgent.h:
1475         * inspector/InspectorCSSAgent.cpp:
1476         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
1477         (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
1478         * inspector/InspectorCSSAgent.h:
1479         * inspector/InspectorConsoleAgent.cpp:
1480         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1481         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1482         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1483         (WebCore::InspectorConsoleAgent::clearFrontend):
1484         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
1485         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
1486         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1487         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1488         * inspector/InspectorConsoleAgent.h:
1489         * inspector/InspectorDOMAgent.cpp: DOM agent now lives even when the front-end is not attached.
1490         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1491         (WebCore::InspectorDOMAgent::setFrontend): Add DOM agent to the set of active agents when the front-end
1492         is attached.
1493         (WebCore::InspectorDOMAgent::clearFrontend):
1494         * inspector/InspectorDOMAgent.h:
1495         (WebCore::InspectorDOMAgent::create):
1496
1497 2011-02-21  Csaba Osztrogonác  <ossy@webkit.org>
1498
1499         Reviewed by Andreas Kling.
1500
1501         [Qt][V8]REGRESSION(r79157): Fix build
1502         https://bugs.webkit.org/show_bug.cgi?id=54871
1503
1504         * bridge/npruntime_internal.h: Add one more undef because of evil X11 macro.
1505
1506 2011-02-16  Vitaly Repeshko  <vitalyr@chromium.org>
1507
1508         Reviewed by Mihai Parparita.
1509
1510         [V8] SerializedScriptValue: fix JS exception handling.
1511         https://bugs.webkit.org/show_bug.cgi?id=54555
1512
1513         Added checks for exceptions and empty handles:
1514         * bindings/v8/SerializedScriptValue.cpp:
1515         (WebCore::Serializer::Serializer):
1516         (WebCore::Serializer::serialize):
1517         (WebCore::Serializer::checkException):
1518         (WebCore::Serializer::reportFailure):
1519         (WebCore::Serializer::ArrayState::advance):
1520         (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
1521         (WebCore::Serializer::AbstractObjectState::advance):
1522         (WebCore::Serializer::push):
1523         (WebCore::Serializer::handleError):
1524         (WebCore::Serializer::newObjectState):
1525         (WebCore::Serializer::doSerialize):
1526         (WebCore::SerializedScriptValue::SerializedScriptValue):
1527
1528 2011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
1529
1530         Reviewed by Kent Tamura.
1531
1532         Add selectionchange event
1533         https://bugs.webkit.org/show_bug.cgi?id=45712
1534
1535         Added the support for asynchronous selectionchange event, which is fired whenever selection is changed.
1536         This event is not cancelable and does not bubble. An event listener can be attached to a document by
1537         body element's onselectionchange attribute or via document's onselectionchange property.
1538
1539         Note that WebKit's implementation fires the event asynchronously whereas Internet Explorer's implementation
1540         fires it synchronously. This implies that a script that modify selection (e.g. via selection's addRange)
1541         will not observe the event before the control returns to JavaScript.
1542
1543         See also: http://msdn.microsoft.com/en-us/library/ms536968(VS.85).aspx
1544
1545         Tests: fast/events/selectionchange-iframe.html
1546                fast/events/selectionchange-user-initiated.html
1547
1548         * dom/Document.cpp:
1549         (WebCore::Document::enqueueDocumentEvent): Added.
1550         * dom/Document.h: Added selectionchange event listener.
1551         * dom/Document.idl: Added onselectionchagne attribute.
1552         * dom/EventNames.h: Added selectionchange
1553         * editing/SelectionController.cpp:
1554         (WebCore::SelectionController::setSelection): Fires selectionchange event.
1555         * html/HTMLAttributeNames.in: Added onselectionchange.
1556         * html/HTMLBodyElement.cpp:
1557         (WebCore::HTMLBodyElement::parseMappedAttribute): Handles onselectionchange attribute.
1558
1559 2011-02-21  Ilya Tikhonovsky  <loislo@chromium.org>
1560
1561         Reviewed by Pavel Feldman.
1562
1563         Web Inspector: protocol error messages are dumping incorrectly in Layout tests.
1564         https://bugs.webkit.org/show_bug.cgi?id=54859
1565
1566         * inspector/CodeGeneratorInspector.pm:
1567
1568 2011-02-21  Pavel Feldman  <pfeldman@chromium.org>
1569
1570         Reviewed by Yury Semikhatsky.
1571
1572         Web Inspector: generate protocol documentation based on IDL.
1573         https://bugs.webkit.org/show_bug.cgi?id=54822
1574
1575         * inspector/CodeGeneratorInspector.pm:
1576
1577 2011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
1578
1579         Reviewed by Martin Robinson.
1580
1581         [GStreamer] Add URI queries support in webkitwebsrc
1582         https://bugs.webkit.org/show_bug.cgi?id=54627
1583
1584         This allow replying to URI queries from downstream elements
1585         with the uri currently set in the source element.
1586
1587         No new tests, this feature is dedicated to internal GStreamer use,
1588         such as the upcoming HTTP Live Streaming element.
1589
1590         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1591         (webKitWebSrcQuery):
1592
1593 2011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
1594
1595         Reviewed by Martin Robinson.
1596
1597         [GStreamer] Add 'location' property in webkitwebsrc
1598         https://bugs.webkit.org/show_bug.cgi?id=54628
1599
1600         No new tests, this feature is dedicated to internal GStreamer use,
1601         such as the upcoming HTTP Live Streaming element.
1602
1603         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1604         (webkit_web_src_class_init):
1605         (webKitWebSrcSetProperty):
1606         (webKitWebSrcGetProperty):
1607
1608 2011-02-17  Ryosuke Niwa  <rniwa@webkit.org>
1609
1610         Reviewed by Kent Tamura.
1611
1612         Rename Position::node() to Position::deprecatedNode()
1613         https://bugs.webkit.org/show_bug.cgi?id=54622
1614
1615         Done the rename. All calls to node() are replaced by calls to deprecatedNode() except when
1616         calls were of the form node()->document() and node()->inDocument() in which case they were
1617         replaced by anchorNode()->document() and anchorNode()->inDocument() respectively.
1618
1619         * WebCore.exp.in: Added Position::containerNode.
1620
1621         The rest abbreviated for simplicity. Please see svn log.
1622
1623 2011-02-20  Gavin Barraclough  <barraclough@apple.com>
1624
1625         Build fix (remove includes).
1626
1627         * bindings/js/JSDOMBinding.cpp:
1628         * bindings/js/JSDOMWindowCustom.cpp:
1629         * bindings/js/JSHistoryCustom.cpp:
1630         * bindings/js/JSLocationCustom.cpp:
1631
1632 2011-02-20  Gavin Barraclough  <barraclough@apple.com>
1633
1634         Reviewed by Oliver Hunt.
1635
1636         https://bugs.webkit.org/show_bug.cgi?id=54839
1637         Remove PrototypeFunction, NativeFunctionWrapper, and GlobalEvalFunction.
1638
1639         Historically, Native functions used to be represented by PrototypeFunctions, however
1640         since introducing call optimizations to the JIT this has used JSFunctions for host
1641         calls too. At the point this change was made, the interpreter continued to use
1642         PrototypeFunctions, however since fallback from the JIT to interpreter was introduced
1643         the interpreter has had to be able to run using host functions represented using
1644         JSFunctions - leading to an unnecessary and redundant divergence in behaviour between 
1645         interpreter only builds, and situations where the JIT has fallen back to interpreting.
1646
1647         NativeFunctionWrapper only existed to select between PrototypeFunction and JSFunction
1648         for wrappers for host functions, and as such can also be removed.
1649
1650         GlobalEvalFunction is a redundant wrapper that happens to be derived from
1651         PrototypeFunction. It existed to hold a reference to the global object - but since all
1652         functions how derive from JSObjectWithGlobalObject, this no longer requires an
1653         additional class to provide this functionality.
1654
1655         * bindings/js/JSDOMBinding.cpp:
1656         * bindings/js/JSDOMWindowCustom.cpp:
1657         * bindings/js/JSHistoryCustom.cpp:
1658         * bindings/js/JSLocationCustom.cpp:
1659             Removed use of redundant classes.
1660
1661 2011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1662
1663         Unreviewed, rolling out r79169.
1664         http://trac.webkit.org/changeset/79169
1665         https://bugs.webkit.org/show_bug.cgi?id=54846
1666
1667         Made unexpected results for tests without CJK characters
1668         (Requested by tkent on #webkit).
1669
1670         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1671         (WebCore::FontCache::createFontPlatformData):
1672         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1673         (WebCore::FontPlatformData::FontPlatformData):
1674         (WebCore::FontPlatformData::operator=):
1675         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
1676         (WebCore::FontPlatformData::orientation):
1677         * platform/graphics/skia/FontCustomPlatformData.cpp:
1678         (WebCore::FontCustomPlatformData::fontPlatformData):
1679
1680 2011-02-20  Chun-Lung Huang  <alvincl.huang@gmail.com>
1681
1682         Reviewed by Kent Tamura.
1683
1684         On Chromium Windows, glyphs in vertical text tests are rotated 90
1685         degrees clockwise. https://bugs.webkit.org/show_bug.cgi?id=51450
1686
1687         This platform dependent patch makes Chromium Windows show the
1688         vertical writing text correctly. Job was done by adding a prefix '@'
1689         in front of the font family name (Windows Only). No new tests added.
1690
1691         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1692         (WebCore::FontCache::createFontPlatformData):
1693         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1694         (WebCore::FontPlatformData::FontPlatformData):
1695         (WebCore::FontPlatformData::operator=):
1696         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
1697         (WebCore::FontPlatformData::orientation):
1698         * platform/graphics/skia/FontCustomPlatformData.cpp:
1699         (WebCore::FontCustomPlatformData::fontPlatformData):
1700
1701 2011-02-20  Simon Fraser  <simon.fraser@apple.com>
1702
1703         Reviewed by Dirk Schulze.
1704
1705         REGRESSION (r73369-r73405): transform animation interpolates incorrectly
1706         https://bugs.webkit.org/show_bug.cgi?id=54793
1707         
1708         After the refactoring in r73380, the ending state for some types of
1709         accelerated animations was computed incorrectly, because the TransformationMatrix
1710         wasn't reset to identity before the ending value transformations were applied.
1711         
1712         Fix by cleaning up the code to use explicit, separate values for
1713         starting and ending values. Only matrix-type animations had this
1714         issue, but cleaned up other clauses similarly.
1715
1716         Test: animations/3d/matrix-transform-type-animation.html
1717
1718         * platform/graphics/ca/GraphicsLayerCA.cpp:
1719         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
1720
1721 2011-02-20  Dan Bernstein  <mitz@apple.com>
1722
1723         Reviewed by Maciej Stachowiak.
1724
1725         <rdar://problem/9028929> REGRESSION (r75897): Scaling applied twice to an iframe with a transformed ancestor
1726
1727         Test: fast/frames/iframe-scale-applied-twice.html
1728
1729         * page/FrameView.cpp:
1730         (WebCore::FrameView::create): Set the initial bounds of the view to match the
1731         frame size.
1732         * platform/ScrollView.cpp:
1733         (WebCore::ScrollView::visibleContentRect): Based on bounds, not frame size.
1734         (WebCore::ScrollView::updateScrollbars): Ditto.
1735         (WebCore::ScrollView::setFrameRect): Moved code that really handles bounds size
1736         change to setBoundsSize().
1737         (WebCore::ScrollView::setBoundsSize): Added.
1738         (WebCore::ScrollView::setInitialBoundsSize): Added. Sets the bounds size but does
1739         not update anything.
1740         (WebCore::ScrollView::frameRectsChanged): Based on bounds, not frame size.
1741         (WebCore::ScrollView::scrollbarCornerPresent): Ditto.
1742         * platform/ScrollView.h:
1743         (WebCore::ScrollView::boundsSize): Added this getter.
1744         * platform/Widget.h:
1745         (WebCore::Widget::resize): Set the bounds size to the frame size.
1746         * platform/mac/ScrollbarThemeMac.mm:
1747         (WebCore::ScrollbarThemeMac::paint): Fixed an error in the indirect drawing code
1748         path where the buffer rect was resized to capture only the damaged part, but was
1749         still drawn in the original location.
1750
1751 2011-02-20  Alexey Proskuryakov  <ap@apple.com>
1752
1753         Reviewed by Eric Seidel.
1754
1755         Tighten up access permissions by using libxslt API
1756         https://bugs.webkit.org/show_bug.cgi?id=52688
1757         <rdar://problem/8909191> 
1758
1759         * xml/XSLTProcessorLibxslt.cpp: (WebCore::XSLTProcessor::transformToString): We are only
1760         interested in a string result, so let libxslt know about that.
1761
1762 2011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1763
1764         Unreviewed, rolling out r79104.
1765         http://trac.webkit.org/changeset/79104
1766         https://bugs.webkit.org/show_bug.cgi?id=54835
1767
1768         Might have caused flaky canaries (Requested by tonyg-cr on
1769         #webkit).
1770
1771         * html/parser/HTMLDocumentParser.cpp:
1772         (WebCore::HTMLDocumentParser::canTakeNextToken):
1773         (WebCore::HTMLDocumentParser::pumpTokenizer):
1774         * html/parser/HTMLParserScheduler.cpp:
1775         (WebCore::isLayoutTimerActive):
1776         * html/parser/HTMLParserScheduler.h:
1777         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
1778         * page/FrameView.h:
1779
1780 2011-02-20  Dirk Schulze  <krit@webkit.org>
1781
1782         Reviewed by Nikolas Zimmermann.
1783
1784         SVG animation - analyze attribute type for animation
1785         https://bugs.webkit.org/show_bug.cgi?id=54542
1786
1787         Analyze animated attribute type to determine the kind of animation. Removed enum PropertyType and replace it
1788         with AnimatedAttributeType instead. More cleanup of the animation code.
1789         Added missing fillAttributeToPropertyTypeMap() for SVGGElement.
1790
1791         Use QualifiedName instead of AtomicStrings for attribute names. This makes it easier to handle animated attributes
1792         from a different namespace like xlink:href. The rest of the SVG code is using QualifiedNames as well.
1793
1794         No change of functionality on the animation code. The changes for the <g>-element affect animateTransform. Sadly
1795         animateTransform is not supported by our SVG animation test script at the moment. Can still be tested manually
1796         with the W3C test suite in trunk.
1797
1798         The change on SVGUseElement gets covered by animate-elem-39-t.svg
1799
1800         Test: svg/animations/animate-dynamic-update-attributeName.html
1801
1802         * svg/SVGAnimateElement.cpp:
1803         (WebCore::SVGAnimateElement::SVGAnimateElement):
1804         (WebCore::SVGAnimateElement::hasValidAttributeType):
1805         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
1806         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1807         (WebCore::inheritsFromProperty):
1808         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1809         (WebCore::SVGAnimateElement::calculateFromAndByValues):
1810         (WebCore::SVGAnimateElement::resetToBaseValue):
1811         (WebCore::SVGAnimateElement::applyResultsToTarget):
1812         (WebCore::SVGAnimateElement::calculateDistance):
1813         * svg/SVGAnimateElement.h:
1814         * svg/SVGAnimateMotionElement.cpp:
1815         (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
1816         (WebCore::parsePoint):
1817         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
1818         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
1819         (WebCore::SVGAnimateMotionElement::calculateDistance):
1820         * svg/SVGAnimateMotionElement.h:
1821         * svg/SVGAnimateTransformElement.cpp:
1822         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
1823         (WebCore::SVGAnimateTransformElement::determineAnimatedAttributeType):
1824         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
1825         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
1826         (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
1827         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
1828         (WebCore::SVGAnimateTransformElement::calculateDistance):
1829         * svg/SVGAnimateTransformElement.h:
1830         * svg/SVGAnimationElement.cpp:
1831         (WebCore::parseKeyTimes):
1832         (WebCore::parseKeySplines):
1833         (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
1834         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
1835         (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
1836         (WebCore::solveEpsilon):
1837         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
1838         (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
1839         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
1840         (WebCore::SVGAnimationElement::startedActiveInterval):
1841         * svg/SVGAnimationElement.h:
1842         * svg/SVGFilterElement.cpp:
1843         (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
1844         * svg/SVGGElement.cpp:
1845         (WebCore::SVGGElement::attributeToPropertyTypeMap):
1846         (WebCore::SVGGElement::fillAttributeToPropertyTypeMap): Added to fill the animated attribute map for this element.
1847         * svg/SVGGElement.h:
1848         * svg/SVGUseElement.cpp:
1849         (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): Changed attribute type to AnimatedString for xlink:href.
1850         * svg/animation/SMILTimeContainer.cpp:
1851         (WebCore::SMILTimeContainer::baseValueFor):
1852         (WebCore::SMILTimeContainer::updateAnimations):
1853         * svg/animation/SMILTimeContainer.h:
1854         * svg/animation/SVGSMILElement.cpp:
1855         (WebCore::SVGSMILElement::SVGSMILElement):
1856         (WebCore::constructQualifiedName): Create a QualifiedName from a attribute name.
1857         (WebCore::SVGSMILElement::insertedIntoDocument): Update local varaible of attribute name.
1858         (WebCore::SVGSMILElement::removedFromDocument): Ditto.
1859         (WebCore::SVGSMILElement::attributeChanged): Ditto.
1860         * svg/animation/SVGSMILElement.h:
1861         (WebCore::SVGSMILElement::attributeName):
1862
1863 2011-02-20  David Kilzer  <ddkilzer@apple.com>
1864
1865         BUILD FIX: Add missing UNUSED_PARAM() when !ENABLE(FULLSCREEN_API)
1866
1867         Not reviewed.
1868
1869         * rendering/RenderLayerCompositor.cpp:
1870         (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
1871
1872 2011-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1873
1874         Reviewed by Martin Robinson.
1875
1876         [GTK] Implement PlatformKeyboardEvent::getCurrentModifierState()
1877         https://bugs.webkit.org/show_bug.cgi?id=52880
1878
1879         * platform/gtk/KeyEventGtk.cpp:
1880         (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
1881
1882 2011-02-19  Andreas Kling  <kling@webkit.org>
1883
1884         Reviewed by Oliver Hunt.
1885
1886         DragController should use Color::serialized() when passing colors to CSSStyleDeclaration
1887         https://bugs.webkit.org/show_bug.cgi?id=54545
1888
1889         * page/DragController.cpp:
1890         (WebCore::DragController::concludeEditDrag):
1891
1892 2011-02-19  Sam Weinig  <sam@webkit.org>
1893
1894         Reviewed by Anders Carlsson.
1895
1896         Add phase in addition to momentumPhase to platform wheel events
1897         Part of <rdar://problem/8945362>
1898
1899         Rename existing phase to momentumPhase.
1900
1901         * platform/PlatformWheelEvent.h:
1902         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1903         (WebCore::PlatformWheelEvent::momentumPhase):
1904         * platform/mac/ScrollAnimatorMac.mm:
1905         (WebCore::ScrollAnimatorMac::handleWheelEvent):
1906         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
1907         * platform/mac/WheelEventMac.mm:
1908         (WebCore::momentumPhaseForEvent):
1909         (WebCore::phaseForEvent):
1910         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1911
1912 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
1913
1914         Qt build fix.
1915
1916         * bridge/runtime_method.h:
1917         (JSC::RuntimeMethod::createStructure):
1918
1919 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
1920
1921         Qt build fix.
1922
1923         * bridge/qt/qt_instance.cpp:
1924         * bridge/qt/qt_pixmapruntime.cpp:
1925
1926 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
1927
1928         Qt build fix.
1929
1930         * bridge/qt/qt_instance.cpp:
1931         (JSC::Bindings::QtInstance::getMethod):
1932         * bridge/qt/qt_pixmapruntime.cpp:
1933         (JSC::Bindings::QtPixmapInstance::getMethod):
1934
1935 2011-02-18  Gavin Barraclough  <barraclough@apple.com>
1936
1937         Reviewed by Sam Weinig.
1938
1939         Bug 54786 - Devirtualize JSCell::classInfo()
1940
1941         Instead of making a virtual function call, add a pointer to the ClassInfo
1942         onto Structure.
1943
1944         This removes a virtual function call, and paves the way towards removing all
1945         the createStructure methods, and StructureFlags/AnonymousSlotCount properties
1946         (these should be able to move onto ClassInfo).
1947
1948         Calls to Structure::create must now pass a pointer to the ClassInfo for the
1949         structure. All objects now have a ClassInfo pointer, non-object cell types
1950         still do not.
1951
1952         Changes are most mechanical, involving three steps:
1953             * Remove virtual classInfo() methods.
1954             * Add &s_info parameter to calls to Structure::create.
1955             * Rename ClassInfo static members on classes from 'info' to 's_info',
1956               for consistency.
1957
1958         * WebCore.exp.in:
1959         * bindings/js/JSAudioConstructor.cpp:
1960         * bindings/js/JSAudioConstructor.h:
1961         * bindings/js/JSDOMBinding.cpp:
1962         * bindings/js/JSDOMBinding.h:
1963         * bindings/js/JSDOMGlobalObject.cpp:
1964         * bindings/js/JSDOMGlobalObject.h:
1965         * bindings/js/JSDOMWindowBase.cpp:
1966         * bindings/js/JSDOMWindowBase.h:
1967         * bindings/js/JSDOMWindowShell.cpp:
1968         * bindings/js/JSDOMWindowShell.h:
1969         * bindings/js/JSGeolocationCustom.cpp:
1970         * bindings/js/JSImageConstructor.cpp:
1971         * bindings/js/JSImageConstructor.h:
1972         * bindings/js/JSImageDataCustom.cpp:
1973         * bindings/js/JSOptionConstructor.cpp:
1974         * bindings/js/JSOptionConstructor.h:
1975         * bindings/js/JSWorkerContextBase.cpp:
1976         * bindings/js/JSWorkerContextBase.h:
1977         * bindings/js/SerializedScriptValue.cpp:
1978         * bindings/scripts/CodeGeneratorJS.pm:
1979         * bridge/c/CRuntimeObject.cpp:
1980         * bridge/c/CRuntimeObject.h:
1981         * bridge/c/c_instance.cpp:
1982         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
1983         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1984         * bridge/jni/jsc/JavaRuntimeObject.cpp:
1985         * bridge/jni/jsc/JavaRuntimeObject.h:
1986         * bridge/jsc/BridgeJSC.cpp:
1987         * bridge/objc/ObjCRuntimeObject.h:
1988         * bridge/objc/ObjCRuntimeObject.mm:
1989         * bridge/objc/objc_instance.mm:
1990         * bridge/objc/objc_runtime.h:
1991         * bridge/objc/objc_runtime.mm:
1992         * bridge/runtime_array.cpp:
1993         * bridge/runtime_array.h:
1994         * bridge/runtime_method.cpp:
1995         * bridge/runtime_method.h:
1996         * bridge/runtime_object.cpp:
1997         * bridge/runtime_object.h:
1998
1999 2011-02-19  Zan Dobersek  <zandobersek@gmail.com>
2000
2001         Reviewed by Martin Robinson.
2002
2003         [cairo][canvas] Drawing from/into float rectangles with width or height in range 0 to 1 fails
2004         https://bugs.webkit.org/show_bug.cgi?id=54491
2005
2006         When width or height in float rectangle are in range (0, 0.5) or (-0.5, 0)
2007         and would round to 0, alter the behaviour to ensure that width or height are
2008         at least 1 pixel in size in these cases.
2009
2010         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2011         (WebCore::GraphicsContext::roundToDevicePixels):
2012
2013 2011-02-19  Dan Bernstein  <mitz@apple.com>
2014
2015         LLVM Compiler build fix.
2016
2017         * platform/graphics/ShadowBlur.cpp:
2018         (WebCore::ShadowBlur::blurLayerImage): Eliminated a file static that generated
2019         a global initializer since the compiler does not evaluate sqrtf at compile time.
2020
2021 2011-02-19  Brian Ryner  <bryner@chromium.org>
2022
2023         Reviewed by Adam Barth.
2024
2025         Replace the #include of DocumentLoader.h in Document.h with a
2026         forward declaration, and add a missing #include now that this
2027         transitive include is gone.
2028         https://bugs.webkit.org/show_bug.cgi?id=50489
2029
2030         No new tests required.
2031
2032         * bindings/ScriptControllerBase.cpp:
2033         * dom/Document.h:
2034
2035 2011-02-19 Patrick Gansterer <paroga@webkit.org>
2036
2037         Reviewed by Antonio Gomes.
2038
2039         [EFL] Remove WebCore::currentTime()
2040         https://bugs.webkit.org/show_bug.cgi?id=53886
2041
2042         There is no declaration for it and we use WTF::currentTime() everywhere.
2043
2044         * platform/efl/SystemTimeEfl.cpp:
2045
2046 2011-02-19 Patrick Gansterer <paroga@webkit.org>
2047
2048         Reviewed by Andreas Kling.
2049
2050         Move KeygenWinCE from wince into win directory
2051         https://bugs.webkit.org/show_bug.cgi?id=54804
2052
2053         Move this file into the win directory, since it can be used on all windows platforms.
2054
2055         * CMakeListsWinCE.txt:
2056         * platform/win/SSLKeyGeneratorWin.cpp: Renamed from platform/wince/KeygenWinCE.cpp.
2057
2058 2011-02-19  Patrick Gansterer  <paroga@webkit.org>
2059
2060         Reviewed by Andreas Kling.
2061
2062         Make FileChooserWin.cpp more portable and use it on WinCE
2063         https://bugs.webkit.org/show_bug.cgi?id=54803
2064
2065         * CMakeListsWinCE.txt:
2066         * platform/win/FileChooserWin.cpp:
2067         (WebCore::FileChooser::basenameForWidth):
2068         * platform/wince/FileChooserWinCE.cpp: Removed.
2069
2070 2011-02-19  James Simonsen  <simonjam@chromium.org>
2071
2072         Reviewed by Adam Barth.
2073
2074         Make ScriptElement match the HTML5 spec
2075         https://bugs.webkit.org/show_bug.cgi?id=54676
2076
2077         This implements the "prepare a script" section of the HTML5 spec in ScriptElement::prepareScript().
2078         http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#prepare-a-script
2079
2080         There are a couple of things missing from the spec that would be new functionality. These will be added later.
2081         - Support for async=false
2082         - Empty src attribute should dispatch an error.
2083
2084         There are a couple of slight behavioral changes to match the spec.
2085         - An XHTML script that is loaded then copied will not fire load on the copy.
2086         - If onbeforeload moves the script to a different document, then it will not try to execute again because wasAlreadyStarted is true.
2087
2088         The parsers were updated to use the new API, but not rewritten to look like the spec. That will be done separately.
2089
2090         Test: All existing tests.
2091
2092         * dom/ScriptElement.cpp: Rewritten to match HTML5 spec.
2093         (WebCore::ScriptElement::ScriptElement):
2094         (WebCore::ScriptElement::insertedIntoDocument): Logic moved to prepareScript.
2095         (WebCore::ScriptElement::childrenChanged): Logic moved to prepareScript.
2096         (WebCore::ScriptElement::handleSourceAttribute): Logic moved to prepareScript.
2097         (WebCore::isLegacySupportedJavaScriptLanguage): Added to support old script types in layout tests.
2098         (WebCore::ScriptElement::isScriptTypeSupported): Derived from old shouldExecuteAsJavaScript().
2099         (WebCore::ScriptElement::prepareScript): START HERE. Main change. Should read exactly like HTML5's "prepare a script." Legacy type support needed for layout tests using XML parser.
2100         (WebCore::ScriptElement::requestScript): Most logic moved to prepareScript. Check security settings here.
2101         (WebCore::ScriptElement::executeScript): Combined evaluateScript() and executeScript() from old code. Logic moved to prepareScript.
2102         (WebCore::ScriptElement::stopLoadRequest): Ignore parser executed scripts.
2103         (WebCore::ScriptElement::execute): Renamed executeScript.
2104         (WebCore::ScriptElement::notifyFinished): We should only listen for non-parser executed scripts.
2105         (WebCore::ScriptElement::ignoresLoadRequest): New variable names.
2106         (WebCore::ScriptElement::childrenAreCommentsOrEmptyText): Added for HTML5 compliance.
2107         (WebCore::ScriptElement::scriptCharset): Use HTML5 variables.
2108         * dom/ScriptElement.h:
2109         (WebCore::ScriptElement::willBeParserExecuted): Added.
2110         (WebCore::ScriptElement::readyToBeParserExecuted): Added.
2111         (WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Added.
2112         (WebCore::ScriptElement::cachedScript): prepareScript() is the only place that should load scripts. This accessor lets the parsers listen for when loads finish.
2113         (WebCore::ScriptElement::isParserInserted): Added.
2114         * dom/XMLDocumentParserLibxml2.cpp:
2115         (WebCore::XMLDocumentParser::endElementNs): Should behave the same. Offloads much of its work to prepareScript().
2116         * dom/XMLDocumentParserQt.cpp:
2117         (WebCore::XMLDocumentParser::parseEndElement): Identical to libxml2 changes.
2118         * html/HTMLScriptElement.cpp:
2119         (WebCore::HTMLScriptElement::insertedIntoDocument): No longer needs url.
2120         (WebCore::HTMLScriptElement::hasSourceAttribute): Added.
2121         * html/HTMLScriptElement.h:
2122         * html/parser/HTMLScriptRunner.cpp:
2123         (WebCore::HTMLScriptRunner::requestPendingScript): Requesting scripts offloaded to ScriptElement.
2124         (WebCore::HTMLScriptRunner::runScript): Should behave the same. Offloads much of its work to prepareScript().
2125         * svg/SVGScriptElement.cpp:
2126         (WebCore::SVGScriptElement::svgAttributeChanged): New ScriptElement function names.
2127         (WebCore::SVGScriptElement::insertedIntoDocument): No longer needs url.
2128         (WebCore::SVGScriptElement::finishParsingChildren): ScriptElement::finishParsingChildren is gone.
2129         (WebCore::SVGScriptElement::hasSourceAttribute): Added.
2130         (WebCore::SVGScriptElement::dispatchLoadEvent): New ScriptElement function names.
2131         * svg/SVGScriptElement.h:
2132
2133 2011-02-19  Marc-Antoine Ruel  <maruel@chromium.org>
2134
2135         Reviewed by James Robinson.
2136
2137         Split webcore_rendering off webcore_remaining to reduce its size for WPO builds
2138         https://bugs.webkit.org/show_bug.cgi?id=54789
2139
2140         * WebCore.gyp/WebCore.gyp:
2141
2142 2011-02-19  Bill Budge  <bbudge@chromium.org>
2143
2144         Reviewed by David Levin.
2145
2146         ThreadableLoaderClient needs willSendRequest method
2147         https://bugs.webkit.org/show_bug.cgi?id=54688
2148
2149         No new tests. Exposes no new functionality
2150
2151         * WebCore.gypi:
2152         * loader/DocumentThreadableLoader.cpp:
2153         (WebCore::DocumentThreadableLoader::willSendRequest):
2154         (WebCore::DocumentThreadableLoader::didReceiveData):
2155         (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
2156         * loader/DocumentThreadableLoaderClient.h: Added.
2157         (WebCore::DocumentThreadableLoaderClient::isDocumentThreadableLoaderClient):
2158         (WebCore::DocumentThreadableLoaderClient::willSendRequest):
2159         * loader/ThreadableLoaderClient.h:
2160         (WebCore::ThreadableLoaderClient::isDocumentThreadableLoaderClient):
2161
2162 2011-02-19  Charlie Reis  <creis@chromium.org>
2163
2164         Reviewed by Mihai Parparita.
2165
2166         Ensure loading has stopped in HistoryController::goToItem
2167         https://bugs.webkit.org/show_bug.cgi?id=54517
2168
2169         Avoid stopping all loaders in goToItem for same document navigations
2170         or pseudo-back-forward URLs.  Make HistoryController::goToItem private
2171         to force callers to go through Page::goToItem.  Also add a callback to
2172         FrameLoaderClient to let clients decide whether to stop loading first.
2173
2174         Test: http/tests/navigation/forward-to-fragment-fires-onload.html
2175
2176         * loader/EmptyClients.h:
2177         * loader/FrameLoader.h:
2178         * loader/FrameLoaderClient.h:
2179         * loader/HistoryController.cpp:
2180         * loader/HistoryController.h:
2181         * page/Page.cpp:
2182
2183 2011-02-19  Adam Barth  <abarth@webkit.org>
2184
2185         Reviewed by Daniel Bates.
2186
2187         Fix xssAuditor/iframe-injection.html
2188         https://bugs.webkit.org/show_bug.cgi?id=54591
2189
2190         We should block the iframe src attribute.  Although this technically
2191         can't be used to run script, it's a pretty easy vector for stealing
2192         passwords.
2193
2194         * html/parser/XSSFilter.cpp:
2195         (WebCore::XSSFilter::filterTokenInitial):
2196         (WebCore::XSSFilter::filterIframeToken):
2197         * html/parser/XSSFilter.h:
2198
2199 2011-02-18  Tony Gentilcore  <tonyg@chromium.org>
2200
2201         Reviewed by Eric Seidel.
2202
2203         Let the parser yield for layout before running scripts
2204         https://bugs.webkit.org/show_bug.cgi?id=54355
2205
2206         Prior to this patch, the parser would yield to perform a layout/paint before running a
2207         script only if the script or a stylesheet blocking the script is not loaded yet. Since we
2208         don't preload scan into the body while parsing the head, typically we'll block on a script
2209         early in the body that causes us to yield to do the first paint within a reasonable time.
2210
2211         However, I'm planning to change the PreloadScanner to scan into the body from the head.
2212         That significantly improves overall load time, but would hurt first paint time because
2213         fewer scripts would be blocked during parsing and thus wouldn't yield.
2214
2215         This change causes us to yield before running scripts if we haven't painted yet (regardless
2216         of whether or not the script is loaded). In addition to allowing the above mentioned
2217         PreloadScanner change to be implemented without regressing first paint time, this also
2218         improves first paint time by itself.
2219
2220         I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
2221         bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
2222         6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
2223         signifcant change in page load time.
2224
2225         Within the pages tested, 33 had no statistically significant change in time to first paint,
2226         12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
2227         are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
2228
2229         * html/parser/HTMLDocumentParser.cpp:
2230         (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
2231         (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
2232         means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
2233         the right thing whether we are just before a token or waiting for a script. Now that we may
2234         yield before a token or before a script, this may be called while paused.
2235         * html/parser/HTMLParserScheduler.cpp:
2236         (WebCore::isLayoutTimerActive): Added a FIXME because r52919 changed minimumLayoutDelay()
2237         to return m_extraLayoutDelay instead of 0 as a minimum. So checking !minimumLayoutDelay()
2238         no longer works. The fix is to change it to check minimumLayoutDelay() ==
2239         m_extraLayoutDelay. But this is all the more reason to move this method onto Document. I'll
2240         do this in a follow up.
2241         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
2242         * page/FrameView.h:
2243         (WebCore::FrameView::hasEverPainted): Added.
2244
2245 2011-02-18  Dawit Alemayehu  <adawit@kde.org>
2246
2247         Reviewed by Andreas Kling.
2248
2249         [Qt]  Button Element is rendered w/ text off-center.
2250         https://bugs.webkit.org/show_bug.cgi?id=53373
2251
2252         Test: LayoutTests/fast/forms/button-white-space.html 
2253
2254         * platform/qt/RenderThemeQt.cpp:
2255         (WebCore::RenderThemeQt::adjustButtonStyle):
2256
2257 2011-02-18  Jonathan Backer  <backer@chromium.org>
2258
2259         Reviewed by Eric Seidel.
2260
2261         [chromium] Fix leak of texture IDs in compositor.
2262         https://bugs.webkit.org/show_bug.cgi?id=54750
2263
2264         No new tests. It is extremely unlikely that this leak would have
2265         any user visible impact because only a few bytes of space are wasted
2266         (we're leaking texture IDs, not actual textures) and the space of
2267         texture IDs is large (32 bits).
2268
2269        * platform/graphics/chromium/TextureManager.cpp:
2270         (WebCore::TextureManager::requestTexture):
2271
2272 2011-02-18  Yi Shen  <yi.4.shen@nokia.com>
2273
2274         Reviewed by Tor Arne Vestbø.
2275
2276         Always display the media controls when requiresFullscreenForVideoPlayback() is true
2277         https://bugs.webkit.org/show_bug.cgi?id=54308
2278
2279         For video element, it should have controls when 
2280         Chrome::requiresFullscreenForVideoPlayback() is true.
2281
2282         * html/HTMLMediaElement.cpp:
2283         (WebCore::HTMLMediaElement::controls):
2284
2285 2011-02-18  Adrienne Walker  <enne@google.com>
2286
2287         Reviewed by Kenneth Russell.
2288
2289         [chromium] Use nearest-neighbor filtering for root layer.
2290         https://bugs.webkit.org/show_bug.cgi?id=54409
2291         https://bugs.webkit.org/show_bug.cgi?id=54509
2292
2293         This setting creates more consistent images for LayoutTests and
2294         prevents small floating point errors in texture coordinates from
2295         creating off-by-one pixel color differences.
2296
2297         * platform/graphics/chromium/LayerTilerChromium.cpp:
2298         (WebCore::LayerTilerChromium::update):
2299
2300 2011-02-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2301
2302         Reviewed by Kent Tamura.
2303
2304         [EFL] Fix coding style errors in RenderThemeEfl.h
2305         https://bugs.webkit.org/show_bug.cgi?id=54693
2306
2307         Fix style errors in RenderThemeEfl.h
2308
2309         * platform/efl/RenderThemeEfl.h:
2310
2311 2011-02-18  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
2312
2313         Reviewed by Andreas Kling.
2314
2315         [Qt] The localized vendor name for Qt SIS packages should be "Nokia"
2316         https://bugs.webkit.org/show_bug.cgi?id=54742
2317
2318         This change was applied in the Qt repository (qt/src/3rdparty/webkit),
2319         so we should do the same here in QtWebKit.
2320
2321         Patch by Eckhart Koppen <eckhart.koppen@nokia.com>
2322         a8a84f1667966acfa093c4be0b7d4b0900ddd3d9:
2323
2324         The previously used name "Nokia, Qt" was not usable for Nokia
2325         Content Signing, which only allows "Nokia" as the visible vendor
2326         name. The unique vendor ID remains as "Nokia, Qt"
2327
2328         * WebCore.pro:
2329
2330 2011-02-18  Alexis Menard  <alexis.menard@openbossa.org>
2331
2332         Reviewed by Andreas Kling.
2333
2334         [Qt] REGRESSION(r67516) : on www.gmail.com a strange rendering issue appears on the
2335         menu bar due to flash.
2336         https://bugs.webkit.org/show_bug.cgi?id=54741
2337
2338         Only show plugins with a valid size. We then don't involve X11 if there is
2339         nothing to see anyway.
2340
2341         * plugins/qt/PluginViewQt.cpp:
2342         (WebCore::PluginView::updatePluginWidget):
2343         (WebCore::PluginView::platformStart):
2344
2345 2011-02-18  Ryuan Choi  <ryuan.choi@samsung.com>
2346
2347         Reviewed by Kent Tamura.
2348
2349         [EFL] Remove GDK dependency.
2350         https://bugs.webkit.org/show_bug.cgi?id=53978
2351
2352         Remove GLIB_SUPPORT macro in GDK related code.
2353         Regardless of GLIB_SUPPORT, getDefaultFontOptions() will works same way.
2354
2355         * CMakeListsEfl.txt:
2356         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2357         (WebCore::getDefaultFontOptions):
2358
2359 2011-02-18  Noel Gordon  <noel.gordon@gmail.com>
2360
2361         Reviewed by James Robinson.
2362
2363         [Chromium] Add elliptical gradient support to GradientSkia
2364         https://bugs.webkit.org/show_bug.cgi?id=51841
2365
2366         Covered by existing tests, these need new rebaselines once this patch
2367         lands for chrome linux, win32
2368
2369         fast/gradients/css3-color-stop-units.html
2370         fast/gradients/css3-color-stops.html
2371         fast/gradients/css3-linear-angle-gradients.html
2372         fast/gradients/css3-radial-gradients.html
2373         fast/gradients/css3-radial-gradients2.html
2374         fast/gradients/css3-radial-gradients3.html
2375         fast/gradients/css3-repeating-radial-gradients.html
2376
2377         * platform/graphics/skia/GradientSkia.cpp:
2378         (WebCore::Gradient::platformGradient):
2379
2380 2011-02-18  James Robinson  <jamesr@chromium.org>
2381
2382         Fix typo in boundary test in ASSERT() - test is for an inclusive range, not exclusive.
2383
2384         * platform/graphics/chromium/ContentLayerChromium.cpp:
2385         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
2386
2387 2011-02-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2388
2389         Reviewed by Kenneth Rohde Christiansen.
2390
2391         Tiled backing store area is too big.
2392         Error in area calculcation causes size of backing store
2393         up to 6 times bigger than viewport with default multipliers.
2394         https://bugs.webkit.org/show_bug.cgi?id=54587
2395
2396         * platform/graphics/TiledBackingStore.cpp:
2397         (WebCore::TiledBackingStore::createTiles):
2398
2399 2011-02-18  Beth Dakin  <bdakin@apple.com>
2400
2401         Reviewed by Sam Weinig.
2402
2403         Fix for <rdar://problem/9018729> Horizontal scroller doesn't 
2404         appear when loading a page with a Horizontal scrollbar from 
2405         the back/forward cache.
2406
2407         This patch adds a new  bool member variable to FrameView to 
2408         keep track of whether we are loading a page from the back/
2409         forward cache. If we are, don't suppress scrollbars on 
2410         first layout.
2411         * history/CachedFrame.cpp:
2412         (WebCore::CachedFrameBase::restore):
2413         * page/FrameView.cpp:
2414         (WebCore::FrameView::FrameView):
2415         (WebCore::FrameView::reset):
2416         (WebCore::FrameView::layout):
2417         * page/FrameView.h:
2418         (WebCore::FrameView::setIsRestoringFromBackForward):
2419         (WebCore::FrameView::isRestoringFromBackForward):
2420
2421 2011-02-18  Patrick Gansterer  <paroga@webkit.org>
2422
2423         Unreviewed WinCE build fix for r78846.
2424
2425         * platform/graphics/wince/FontWinCE.cpp:
2426         (WebCore::TextRunComponent::TextRunComponent):
2427         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2428         (WebCore::GraphicsContext::drawLineForText):
2429         (WebCore::GraphicsContext::drawLineForTextChecking):
2430         (WebCore::GraphicsContext::drawText):
2431         * platform/wince/FileChooserWinCE.cpp:
2432         (WebCore::FileChooser::basenameForWidth):
2433
2434 2011-02-18  Emil A Eklund  <eae@chromium.org>
2435
2436         Reviewed by Darin Adler.
2437
2438         Crash in EventHandler::sendContextMenuEventForKey
2439         https://bugs.webkit.org/show_bug.cgi?id=54495
2440
2441         Test: fast/events/menu-keydown-on-hidden-element.html
2442
2443         * page/EventHandler.cpp:
2444         (WebCore::EventHandler::sendContextMenuEventForKey): Add null check.
2445
2446 2011-02-15  Adrienne Walker  <enne@google.com>
2447
2448         Reviewed by James Robinson.
2449
2450         [chromium] Clean up shader code from LayerChromium classes
2451         https://bugs.webkit.org/show_bug.cgi?id=54484
2452
2453         This is a refactoring and there should be no change in functionality.
2454         All shader code is pulled out into classes in ShaderChromium.
2455         The SharedValues classes are now turned into ProgramBinding, one per
2456         shader program.  These contain shader classes that know about what
2457         variables they can bind.
2458
2459         * WebCore.gypi:
2460         * platform/graphics/chromium/CanvasLayerChromium.cpp:
2461         (WebCore::CanvasLayerChromium::draw):
2462         * platform/graphics/chromium/CanvasLayerChromium.h:
2463         * platform/graphics/chromium/ContentLayerChromium.cpp:
2464         (WebCore::ContentLayerChromium::draw):
2465         * platform/graphics/chromium/ContentLayerChromium.h:
2466         * platform/graphics/chromium/GeometryBinding.cpp: Added.
2467         (WebCore::GeometryBinding::GeometryBinding):
2468         (WebCore::GeometryBinding::~GeometryBinding):
2469         (WebCore::GeometryBinding::prepareForDraw):
2470         * platform/graphics/chromium/GeometryBinding.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
2471         (WebCore::GeometryBinding::initialized):
2472         (WebCore::GeometryBinding::context):
2473         (WebCore::GeometryBinding::quadVerticesVbo):
2474         (WebCore::GeometryBinding::quadElementsVbo):
2475         (WebCore::GeometryBinding::positionAttribLocation):
2476         (WebCore::GeometryBinding::texCoordAttribLocation):
2477         * platform/graphics/chromium/LayerChromium.cpp:
2478         (WebCore::LayerChromium::drawDebugBorder):
2479         * platform/graphics/chromium/LayerChromium.h:
2480         * platform/graphics/chromium/LayerRendererChromium.cpp:
2481         (WebCore::LayerRendererChromium::drawLayers):
2482         (WebCore::LayerRendererChromium::initializeSharedObjects):
2483         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2484         * platform/graphics/chromium/LayerRendererChromium.h:
2485         (WebCore::LayerRendererChromium::sharedGeometry):
2486         (WebCore::LayerRendererChromium::borderProgram):
2487         (WebCore::LayerRendererChromium::contentLayerProgram):
2488         (WebCore::LayerRendererChromium::canvasLayerProgram):
2489         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
2490         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
2491         (WebCore::LayerRendererChromium::pluginLayerProgram):
2492         (WebCore::LayerRendererChromium::renderSurfaceProgram):
2493         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
2494         (WebCore::LayerRendererChromium::tilerProgram):
2495         * platform/graphics/chromium/LayerTilerChromium.cpp:
2496         (WebCore::LayerTilerChromium::draw):
2497         (WebCore::LayerTilerChromium::drawTexturedQuad):
2498         * platform/graphics/chromium/LayerTilerChromium.h:
2499         * platform/graphics/chromium/PluginLayerChromium.cpp:
2500         (WebCore::PluginLayerChromium::draw):
2501         * platform/graphics/chromium/PluginLayerChromium.h:
2502         * platform/graphics/chromium/ProgramBinding.cpp: Added.
2503         (WebCore::ProgramBindingBase::ProgramBindingBase):
2504         (WebCore::ProgramBindingBase::~ProgramBindingBase):
2505         (WebCore::ProgramBindingBase::init):
2506         (WebCore::ProgramBindingBase::loadShader):
2507         (WebCore::ProgramBindingBase::createShaderProgram):
2508         * platform/graphics/chromium/ProgramBinding.h: Added.
2509         (WebCore::ProgramBindingBase::program):
2510         (WebCore::ProgramBindingBase::initialized):
2511         (WebCore::ProgramBinding::ProgramBinding):
2512         (WebCore::ProgramBinding::vertexShader):
2513         (WebCore::ProgramBinding::fragmentShader):
2514         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2515         (WebCore::RenderSurfaceChromium::drawSurface):
2516         * platform/graphics/chromium/RenderSurfaceChromium.h:
2517         * platform/graphics/chromium/ShaderChromium.cpp: Added.
2518         (WebCore::VertexShaderPosTex::VertexShaderPosTex):
2519         (WebCore::VertexShaderPosTex::init):
2520         (WebCore::VertexShaderPosTex::getShaderString):
2521         (WebCore::VertexShaderPosTexYUVStretch::VertexShaderPosTexYUVStretch):
2522         (WebCore::VertexShaderPosTexYUVStretch::init):
2523         (WebCore::VertexShaderPosTexYUVStretch::getShaderString):
2524         (WebCore::VertexShaderPos::VertexShaderPos):
2525         (WebCore::VertexShaderPos::init):
2526         (WebCore::VertexShaderPos::getShaderString):
2527         (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
2528         (WebCore::VertexShaderPosTexTransform::init):
2529         (WebCore::VertexShaderPosTexTransform::getShaderString):
2530         (WebCore::FragmentTexAlphaBinding::FragmentTexAlphaBinding):
2531         (WebCore::FragmentTexAlphaBinding::init):
2532         (WebCore::FragmentShaderRGBATexFlipAlpha::getShaderString):
2533         (WebCore::FragmentShaderRGBATexAlpha::getShaderString):
2534         (WebCore::FragmentShaderBGRATexAlpha::getShaderString):
2535         (WebCore::FragmentShaderRGBATexAlphaMask::FragmentShaderRGBATexAlphaMask):
2536         (WebCore::FragmentShaderRGBATexAlphaMask::init):
2537         (WebCore::FragmentShaderRGBATexAlphaMask::getShaderString):
2538         (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
2539         (WebCore::FragmentShaderYUVVideo::init):
2540         (WebCore::FragmentShaderYUVVideo::getShaderString):
2541         (WebCore::FragmentShaderColor::FragmentShaderColor):
2542         (WebCore::FragmentShaderColor::init):
2543         (WebCore::FragmentShaderColor::getShaderString):
2544         * platform/graphics/chromium/ShaderChromium.h: Added.
2545         (WebCore::VertexShaderPosTex::matrixLocation):
2546         (WebCore::VertexShaderPosTexYUVStretch::matrixLocation):
2547         (WebCore::VertexShaderPosTexYUVStretch::yWidthScaleFactorLocation):
2548         (WebCore::VertexShaderPosTexYUVStretch::uvWidthScaleFactorLocation):
2549         (WebCore::VertexShaderPos::matrixLocation):
2550         (WebCore::VertexShaderPosTexTransform::matrixLocation):
2551         (WebCore::VertexShaderPosTexTransform::texTransformLocation):
2552         (WebCore::FragmentTexAlphaBinding::alphaLocation):
2553         (WebCore::FragmentTexAlphaBinding::samplerLocation):
2554         (WebCore::FragmentShaderRGBATexAlphaMask::alphaLocation):
2555         (WebCore::FragmentShaderRGBATexAlphaMask::samplerLocation):
2556         (WebCore::FragmentShaderRGBATexAlphaMask::maskSamplerLocation):
2557         (WebCore::FragmentShaderYUVVideo::yTextureLocation):
2558         (WebCore::FragmentShaderYUVVideo::uTextureLocation):
2559         (WebCore::FragmentShaderYUVVideo::vTextureLocation):
2560         (WebCore::FragmentShaderYUVVideo::alphaLocation):
2561         (WebCore::FragmentShaderYUVVideo::ccMatrixLocation):
2562         (WebCore::FragmentShaderYUVVideo::signAdjLocation):
2563         (WebCore::FragmentShaderColor::colorLocation):
2564         * platform/graphics/chromium/VideoLayerChromium.cpp:
2565         (WebCore::VideoLayerChromium::draw):
2566         (WebCore::VideoLayerChromium::drawYUV):
2567         (WebCore::VideoLayerChromium::drawRGBA):
2568         * platform/graphics/chromium/VideoLayerChromium.h:
2569
2570 2011-02-18  James Robinson  <jamesr@chromium.org>
2571
2572         Reviewed by Kenneth Russell.
2573
2574         [chromium] Update texture for ContentLayerChromiums in draw() call instead of updateContents..() call
2575         https://bugs.webkit.org/show_bug.cgi?id=54315
2576
2577         This defers all operations on the compositor's GL context until the
2578         draw() call which is a prerequisite for moving the draw() off-thread.
2579         Also cleans up the update cycle a bit - there were some unused local
2580         variables and whatnot.
2581
2582         One consequence of this change is that the upload buffer is retained
2583         across updates now instead of allocated by each paint.  This is
2584         necessary so that the full layer contents can be uploaded if the
2585         texture manager evicts the layer's backing texture.  This costs more
2586         persistent memory but avoids lots of allocator churn on updates.
2587         Another nonobvious detail is that I have to update the texture for
2588         ContentLayerChromiums in bindContentsTexture() because mask layers
2589         never draw(), they are instead bound to the secondary texture unit.
2590
2591         * platform/graphics/chromium/ContentLayerChromium.cpp:
2592         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
2593         (WebCore::ContentLayerChromium::updateContentsIfDirty):
2594         (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
2595         (WebCore::ContentLayerChromium::resizeUploadBuffer):
2596         (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels):
2597         (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels):
2598         (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
2599         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
2600         (WebCore::ContentLayerChromium::draw):
2601         (WebCore::ContentLayerChromium::unreserveContentsTexture):
2602         (WebCore::ContentLayerChromium::bindContentsTexture):
2603         * platform/graphics/chromium/ContentLayerChromium.h:
2604         * platform/graphics/chromium/ImageLayerChromium.cpp:
2605         (WebCore::ImageLayerChromium::updateContentsIfDirty):
2606         * platform/graphics/chromium/LayerChromium.cpp:
2607         (WebCore::LayerChromium::setBounds):
2608         * platform/graphics/chromium/LayerChromium.h:
2609
2610 2011-02-18  Kenneth Russell  <kbr@google.com>
2611
2612         Unreviewed, Chromium build fix on certain Linux platforms.
2613
2614         * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
2615
2616 2011-02-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
2617
2618         Reviewed by Kenneth Rohde Christiansen.
2619
2620         [Qt] Implement client based geolocation for qtport
2621         https://bugs.webkit.org/show_bug.cgi?id=42629
2622
2623         Implements client based geolocation for qtwebkit. Removed old code related to non-client based geolocation
2624
2625         No tests as yet. This will be raised as different bug as new mock client implementation need to be done.
2626
2627         * WebCore.pro:
2628         * features.pri:
2629         * platform/qt/GeolocationServiceQt.cpp: Removed.
2630         * platform/qt/GeolocationServiceQt.h: Removed.
2631
2632 2011-02-18  Yael Aharon  <yael.aharon@nokia.com>
2633
2634         Reviewed by Dave Hyatt.
2635
2636         Add support for dir=auto
2637         https://bugs.webkit.org/show_bug.cgi?id=50916
2638
2639         When an element has dir attribute with value "auto", call defaultWritingMode
2640         to find its directionality.
2641         Added a flag SelfOrAncestorHasDirAutoFlag, and added hooks in the DOM to set
2642         and check this flag. This flag is set on every node between an element with
2643         dir=auto attribute and its first text node. Changes in the DOM between those
2644         elements will trigger re-evaluating the directionality, but changes not
2645         between those element do not need to be concerned.
2646         The DOM hooks were added to childrenChanged, and to parseMappedAttribute.
2647         The directionality is evaluated when children are added, and cleared when they are
2648         removed. Directionality flag is also cleared on a child that is no longer determining
2649         the directionality due to a sibling being added before that child.
2650
2651         Added 2 static CSSMutableStyleDeclarations to be used for elements with dir=auto.
2652         We cannot used the mapped declaration, because it can take only one value.
2653
2654         Tests: fast/dom/HTMLElement/attr-dir-auto-change-before-text-node.html
2655                fast/dom/HTMLElement/attr-dir-auto-change-child-node.html
2656                fast/dom/HTMLElement/attr-dir-auto-change-text.html
2657                fast/dom/HTMLElement/attr-dir-auto-children.html
2658                fast/dom/HTMLElement/attr-dir-auto-remove-add-children.html
2659                fast/dom/HTMLElement/attr-dir-auto.html
2660                fast/dom/HTMLElement/attr-dir-value-change.html
2661
2662         * css/CSSStyleSelector.cpp:
2663         (WebCore::leftToRightDeclaration):
2664         (WebCore::rightToLeftDeclaration):
2665         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2666         (WebCore::CSSStyleSelector::styleForElement):
2667         * dom/Node.h:
2668         (WebCore::Node::selfOrAncestorHasDirAutoAttribute):
2669         (WebCore::Node::setSelfOrAncestorHasDirAutoAttribute):
2670         * html/HTMLElement.cpp:
2671         (WebCore::HTMLElement::mapToEntry):
2672         (WebCore::HTMLElement::parseMappedAttribute):
2673         (WebCore::setHasDirAutoFlagRecursively):
2674         (WebCore::HTMLElement::childrenChanged):
2675         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
2676         (WebCore::HTMLElement::directionality):
2677         (WebCore::HTMLElement::dirAttributeChanged):
2678         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
2679         (WebCore::HTMLElement::calculateAndAdjustDirectionality):
2680         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
2681         * html/HTMLElement.h:
2682
2683 2011-02-18  Yael Aharon  <yael.aharon@nokia.com>
2684
2685         Reviewed by Antonio Gomes.
2686
2687         Navigating downwards / upwards does not focus on the links spread across more than one line.
2688         https://bugs.webkit.org/show_bug.cgi?id=54639
2689
2690         When 2 anchor elements span more than one line each, and one ends on the same line that the
2691         second starts on, the rects reported by their renderers are overlapping. When handling
2692         2 overlapping nodes, check for this case, and don't assume that one of the nodes is on a higher layer.   
2693
2694         Test: fast/spatial-navigation/snav-two-elements-one-line.html
2695
2696         * page/FocusController.cpp:
2697         (WebCore::updateFocusCandidateIfNeeded):
2698         (WebCore::FocusController::findFocusCandidateInContainer):
2699         * page/SpatialNavigation.cpp:
2700         (WebCore::areElementsOnSameLine):
2701         (WebCore::distanceDataForNode):
2702         * page/SpatialNavigation.h:
2703
2704 2011-02-18  Ben Vanik  <benvanik@google.com>
2705
2706         Reviewed by Kenneth Russell.
2707
2708         Bug 53940: Implement the OES_vertex_array_object WebGL extension
2709         https://bugs.webkit.org/show_bug.cgi?id=53940
2710
2711         Initial implementation of the OES_vertex_array_object extension adding the OESVertexArrayObject
2712         extension container and WebGLVertexArrayObjectOES VAO object. The extension is plumbed through
2713         the Extensions3D interface and implemented in the Extensions3DOpenGL (WebKit/OSX) version when
2714         it is available.
2715         Two big changes touching code outside of the extension files:
2716         * Moved the typedefs at the top of GraphicsContext3D.h to GraphicsTypes3D.h (modeled after
2717           GraphicsTypes.h). They are not namespaced as they weren't before.
2718         * To make the code cleaner/clearer all vertex attribute state has been moved to the
2719           WebGLVertexArrayObjectOES type (struct VertexAttribState) except for values which are still
2720           on the WebGLRenderingContext. A default VAO is now used to store the existing attribute
2721           states for when no other VAO is used. Code in WebGLRenderingContext dealing with buffers and
2722           vertex attributes now defers to or stores values in the bound array object.
2723
2724         Tested against the WebGL conformance suite and the new
2725         oes-vertex-array-object test:
2726         https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-vertex-array-object.html
2727
2728         * CMakeLists.txt:
2729         * CodeGenerators.pri:
2730         * DerivedSources.make:
2731         * GNUmakefile.am:
2732         * WebCore.gyp: Modified property svn:ignore.
2733         * WebCore.gypi:
2734         * WebCore.pro:
2735         * WebCore.xcodeproj/project.pbxproj:
2736         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2737         (WebCore::toJS):
2738         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2739         (WebCore::toV8Object):
2740         * html/canvas/OESVertexArrayObject.cpp: Added.
2741         (WebCore::OESVertexArrayObject::OESVertexArrayObject):
2742         (WebCore::OESVertexArrayObject::~OESVertexArrayObject):
2743         (WebCore::OESVertexArrayObject::getName):
2744         (WebCore::OESVertexArrayObject::create):
2745         (WebCore::OESVertexArrayObject::createVertexArrayOES):
2746         (WebCore::OESVertexArrayObject::deleteVertexArrayOES):
2747         (WebCore::OESVertexArrayObject::isVertexArrayOES):
2748         (WebCore::OESVertexArrayObject::bindVertexArrayOES):
2749         * html/canvas/OESVertexArrayObject.h: Added.
2750         * html/canvas/OESVertexArrayObject.idl: Added.
2751         * html/canvas/WebGLExtension.h:
2752         * html/canvas/WebGLGetInfo.cpp:
2753         (WebCore::WebGLGetInfo::WebGLGetInfo):
2754         (WebCore::WebGLGetInfo::getWebGLVertexArrayObjectOES):
2755         * html/canvas/WebGLGetInfo.h:
2756         * html/canvas/WebGLRenderingContext.cpp:
2757         (WebCore::WebGLRenderingContext::initializeNewContext):
2758         (WebCore::WebGLRenderingContext::bindBuffer):
2759         (WebCore::WebGLRenderingContext::deleteBuffer):
2760         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2761         (WebCore::WebGLRenderingContext::validateElementArraySize):
2762         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
2763         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
2764         (WebCore::WebGLRenderingContext::validateRenderingState):
2765         (WebCore::WebGLRenderingContext::drawElements):
2766         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2767         (WebCore::WebGLRenderingContext::getExtension):
2768         (WebCore::WebGLRenderingContext::getParameter):
2769         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2770         (WebCore::WebGLRenderingContext::getVertexAttrib):
2771         (WebCore::WebGLRenderingContext::vertexAttribPointer):
2772         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
2773         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
2774         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
2775         (WebCore::WebGLRenderingContext::initVertexAttrib0):
2776         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
2777         (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
2778         (WebCore::WebGLRenderingContext::getNumberOfExtensions):
2779         (WebCore::WebGLRenderingContext::getExtensionNumber):
2780         * html/canvas/WebGLRenderingContext.h:
2781         (WebCore::WebGLRenderingContext::getMaxVertexAttribs):
2782         (WebCore::WebGLRenderingContext::setBoundVertexArrayObject):
2783         (WebCore::WebGLRenderingContext::VertexAttribValue::VertexAttribValue):
2784         * html/canvas/WebGLVertexArrayObjectOES.cpp: Added.
2785         (WebCore::WebGLVertexArrayObjectOES::create):
2786         (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
2787         (WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
2788         * html/canvas/WebGLVertexArrayObjectOES.h: Added.
2789         (WebCore::WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES):
2790         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
2791         (WebCore::WebGLVertexArrayObjectOES::isDefaultObject):
2792         (WebCore::WebGLVertexArrayObjectOES::hasEverBeenBound):
2793         (WebCore::WebGLVertexArrayObjectOES::setHasEverBeenBound):
2794         (WebCore::WebGLVertexArrayObjectOES::getElementArrayBuffer):
2795         (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
2796         (WebCore::WebGLVertexArrayObjectOES::getVertexAttribState):
2797         (WebCore::WebGLVertexArrayObjectOES::isVertexArray):
2798         * html/canvas/WebGLVertexArrayObjectOES.idl: Added.
2799         * platform/graphics/Extensions3D.h:
2800         * platform/graphics/GraphicsContext3D.h:
2801         * platform/graphics/GraphicsTypes3D.h: Added.
2802         * platform/graphics/chromium/Extensions3DChromium.h:
2803         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2804         (WebCore::Extensions3DOpenGL::supports):
2805         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
2806         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
2807         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
2808         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
2809         * platform/graphics/opengl/Extensions3DOpenGL.h:
2810         * platform/graphics/qt/Extensions3DQt.cpp:
2811         (WebCore::Extensions3DQt::createVertexArrayOES):
2812         (WebCore::Extensions3DQt::deleteVertexArrayOES):
2813         (WebCore::Extensions3DQt::isVertexArrayOES):
2814         (WebCore::Extensions3DQt::bindVertexArrayOES):
2815         * platform/graphics/qt/Extensions3DQt.h:
2816
2817 2011-02-17  Alexander Pavlov  <apavlov@chromium.org>
2818
2819         Reviewed by Pavel Feldman.
2820
2821         Web Inspector: reflect changes to styles when they happen outside inspector.
2822         https://bugs.webkit.org/show_bug.cgi?id=44620
2823
2824         Notify InspectorInstrumentation of inline style changes from CSSMutableStyleDeclaration
2825         whenever the style change does not come from a direct "style" attribute modification.
2826         The performance regression occurs only with the Web Inspector opened, when inline styles
2827         are modified through setting style.cssText or style.<styleAttribute>: according to the Web Inspector protocol,
2828         an attribute change requires that all attributes for the node in question be pushed into the frontend.
2829
2830         Test: inspector/styles/styles-update-from-js.html
2831
2832         * css/CSSMutableStyleDeclaration.cpp:
2833         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
2834         * inspector/InspectorDOMAgent.cpp:
2835         (WebCore::RevalidateStyleAttributeTask::reset):
2836         (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
2837         (WebCore::RevalidateStyleAttributeTask::scheduleFor):
2838         (WebCore::RevalidateStyleAttributeTask::onTimer):
2839         (WebCore::InspectorDOMAgent::reset):
2840         (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
2841         * inspector/InspectorDOMAgent.h:
2842         * inspector/InspectorInstrumentation.cpp:
2843         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
2844         * inspector/InspectorInstrumentation.h:
2845         (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
2846         * inspector/InspectorStyleSheet.cpp:
2847         (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
2848         (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
2849         (WebCore::InspectorStyleSheetForInlineStyle::elementStyleText):
2850         * inspector/InspectorStyleSheet.h:
2851         * inspector/front-end/ElementsPanel.js:
2852         (WebInspector.ElementsPanel.prototype._attributesUpdated):
2853         * inspector/front-end/StylesSidebarPane.js:
2854         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
2855         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
2856         (WebInspector.StylePropertiesSection.prototype.onpopulate):
2857         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2858         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2859         (WebInspector.BlankStylePropertiesSection):
2860         (WebInspector.StylePropertyTreeElement):
2861         (WebInspector.StylePropertyTreeElement.prototype):
2862         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
2863
2864 2011-02-16  Tony Gentilcore  <tonyg@chromium.org>
2865
2866         Reviewed by Eric Seidel.
2867
2868         Refactor pumpTokenizer loop
2869         https://bugs.webkit.org/show_bug.cgi?id=54574
2870
2871         1. This makes pumpTokenizer() safe to call when waiting for a script or when about to get
2872            the next token, although ASSERTs still enforce that we aren't waiting for a script. This
2873            enables resumeParsingAfterYield() to call pumpTokenizer with no modifications even if we
2874            yield before running a script rather than before taking a token (see bug 54355).
2875         2. This also picks up the refCount >= 1 assert when stopped.
2876
2877         Tested PerformanceTests/Parser to verify no regression. If anything it got faster.
2878         Before:
2879           avg 985.05
2880           median 985.5
2881           stdev 3.007906248539007
2882           min 980
2883           max 990
2884         After:
2885           avg 980.05
2886           median 981
2887           stdev 3.122098653149833
2888           min 974
2889           max 985
2890
2891         No new tests because no new functionality.
2892
2893         * html/parser/HTMLDocumentParser.cpp:
2894         (WebCore::HTMLDocumentParser::canTakeNextToken): Added.
2895         (WebCore::HTMLDocumentParser::pumpTokenizer):
2896         * html/parser/HTMLDocumentParser.h:
2897
2898 2011-02-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2899
2900         Unreviewed, rolling out r79003.
2901         http://trac.webkit.org/changeset/79003
2902         https://bugs.webkit.org/show_bug.cgi?id=54753
2903
2904         It broke tests on GTK bots (Requested by Ossy on #webkit).
2905
2906         * accessibility/AccessibilityRenderObject.cpp:
2907         (WebCore::lastChildConsideringContinuation):
2908         * dom/Node.cpp:
2909         (WebCore::Node::removeEventListener):
2910         * html/DateComponents.cpp:
2911         (WebCore::DateComponents::parseTime):
2912
2913 2011-02-18  Csaba Osztrogonác  <ossy@webkit.org>
2914
2915         Rubber-stamped by Andreas Kling.
2916
2917         Warning fix. Use ASSERT_UNUSED() instead of ASSERT().
2918
2919         * accessibility/AccessibilityRenderObject.cpp:
2920         (WebCore::lastChildConsideringContinuation):
2921         * dom/Node.cpp:
2922         (WebCore::Node::removeEventListener):
2923         * html/DateComponents.cpp:
2924         (WebCore::DateComponents::parseTime):
2925
2926 2011-02-18  Andrey Adaikin  <aandrey@google.com>
2927
2928         Reviewed by Pavel Feldman.
2929
2930         Web Inspector: [Text editor] Optimize editing updates in main panel
2931         https://bugs.webkit.org/show_bug.cgi?id=54661
2932
2933         * inspector/front-end/TextViewer.js:
2934         (WebInspector.TextViewer):
2935         (WebInspector.TextViewer.prototype._textChanged):
2936         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
2937         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
2938         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2939         (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
2940         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
2941         (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
2942         (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
2943         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2944         (WebInspector.TextEditorGutterChunk):
2945         (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
2946         (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
2947         (WebInspector.TextEditorMainPanel):
2948         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2949         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2950         (WebInspector.TextEditorMainPanel.prototype._markSkippedPaintLines):
2951         (WebInspector.TextEditorMainPanel.prototype._paintSkippedLines):
2952         (WebInspector.TextEditorMainPanel.prototype._paintLines):
2953         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2954         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2955         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2956         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
2957         (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
2958         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
2959         (WebInspector.TextEditorMainChunk):
2960         (WebInspector.TextEditorMainChunk.prototype.get startLine):
2961         (WebInspector.TextEditorMainChunk.prototype.set startLine):
2962         (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
2963         (WebInspector.TextEditorMainChunk.prototype.updateCollapsedLineRow):
2964
2965 2011-02-18  Steve Block  <steveblock@google.com>
2966
2967         Reviewed by Andreas Kling
2968
2969         Memory allocation error in convertV8ObjectToNPVariant() for strings
2970         https://bugs.webkit.org/show_bug.cgi?id=54737
2971
2972         Include the termination character in the length when allocating memory
2973         and copying the string. This fixes a crashing bug on Android.
2974
2975         This should be tested by the java/ tests on Chromium, but these
2976         tests are currently skipped.
2977
2978         * bindings/v8/V8NPUtils.cpp:
2979         (WebCore::convertV8ObjectToNPVariant):
2980
2981 2011-02-18  Philippe Normand  <pnormand@igalia.com>
2982
2983         Unreviewed, rolling out r78979.
2984         http://trac.webkit.org/changeset/78979
2985         https://bugs.webkit.org/show_bug.cgi?id=53146
2986
2987         causes multiple crashes on GTK
2988
2989         * accessibility/gtk/AXObjectCacheAtk.cpp:
2990         (WebCore::notifyChildrenSelectionChange):
2991         (WebCore::AXObjectCache::postPlatformNotification):
2992
2993 2011-02-18  Philippe Normand  <pnormand@igalia.com>
2994
2995         Reviewed by Martin Robinson.
2996
2997         [GTK] minimal build unrecognized options
2998         https://bugs.webkit.org/show_bug.cgi?id=50890
2999
3000         * GNUmakefile.am: new feature defines for optional features build.
3001
3002 2011-02-17  Hans Wennborg  <hans@chromium.org>
3003
3004         Reviewed by Jeremy Orlow.
3005
3006         IndexedDB: Populate indexes created for object stores with data
3007         https://bugs.webkit.org/show_bug.cgi?id=54669
3008
3009         Make sure that indices for object stores that already hold data get
3010         populated.
3011
3012         * storage/IDBIndexBackendImpl.h:
3013         (WebCore::IDBIndexBackendImpl::hasValidId):
3014         * storage/IDBObjectStoreBackendImpl.cpp:
3015         (WebCore::IDBObjectStoreBackendImpl::putInternal):
3016         (WebCore::populateIndex):
3017         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
3018
3019 2011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
3020
3021         Reviewed by Martin Robinson.
3022
3023         [GTK] Combo boxes should emit object:selection-changed even when collapsed
3024         https://bugs.webkit.org/show_bug.cgi?id=53146
3025
3026         Emit the selection-changed signals when the menu list value has changed
3027
3028         Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
3029
3030         * accessibility/gtk/AXObjectCacheAtk.cpp:
3031         (WebCore::getListObject): New, return the right list object for
3032         menu lists and list boxes.
3033         (WebCore::notifyChildrenSelectionChange): Support menu lists.
3034         (WebCore::AXObjectCache::postPlatformNotification): Call function
3035         notifyChildrenSelectionChange for AXMenuListValueChanged.
3036
3037 2011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
3038
3039         Reviewed by Martin Robinson.
3040
3041         [Gtk] atk_text_get_selection/atk_text_set_selection fails for list items
3042         https://bugs.webkit.org/show_bug.cgi?id=53453
3043
3044         Ensure that atk_text_{get|set}_selection() work with list items.
3045
3046         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3047         (webkit_accessible_text_get_text): Properly handle list item
3048         markers when returning the text for an object for a given interval
3049         specified through the startOffset and endOffset parameters.
3050         (getSelectionOffsetsForObject): Bear in mind list item markers
3051         when returning the offsets for a selection over a list item.
3052         (webkit_accessible_text_set_selection): Adjust offsets if needed
3053         for list items with item markers. Ensure that it returns TRUE only
3054         when everything went fine setting the text selection.
3055
3056 2011-02-18  Antti Koivisto  <antti@apple.com>
3057
3058         Reviewed by Maciej Stachowiak.
3059
3060         https://bugs.webkit.org/show_bug.cgi?id=54728
3061         checkSelector*Value functions used in fastCheckSelector fail to inline
3062         
3063         Wrap the functions used as template arguments to classes.
3064
3065         * css/CSSStyleSelector.cpp:
3066         (WebCore::fastCheckSingleSelector):
3067         (WebCore::ClassCheck::checkValue):
3068         (WebCore::IdCheck::checkValue):
3069         (WebCore::TagCheck::checkValue):
3070         (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
3071
3072 2011-02-17  Simon Fraser  <simon.fraser@apple.com>
3073
3074         Reviewed by Sam Weinig.
3075
3076         Composited iframe content is missing from snapshots in WebKit2
3077         https://bugs.webkit.org/show_bug.cgi?id=54696
3078
3079         We need to propagate the 'flattening' paint behavior flag
3080         down to subviews while painting. WebKit1 does this via
3081         code in WebFrameView, but this is a more general fix
3082         that works in WebKit2 as well.
3083         
3084         Made a utility method, parentFrameView(), which I changed
3085         some other methods to use as well.
3086         
3087         * page/FrameView.cpp:
3088         (WebCore::FrameView::isEnclosedInCompositingLayer):
3089         (WebCore::FrameView::useSlowRepaints):
3090         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
3091         (WebCore::FrameView::isOverlappedIncludingAncestors):
3092         (WebCore::FrameView::parentFrameView):
3093         (WebCore::FrameView::paintContents):
3094         * page/FrameView.h:
3095
3096 2011-02-17  Dan Bernstein  <mitz@apple.com>
3097
3098         Reviewed by Simon Fraser.
3099
3100         <rdar://problem/8898595> Pages that use fixed positioning display poorly when scaled
3101
3102         * html/HTMLBodyElement.cpp:
3103         (WebCore::adjustForZoom): Account for page scale.
3104         (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
3105         (WebCore::HTMLBodyElement::setScrollTop): Ditto.
3106         * page/FrameView.cpp:
3107         (WebCore::FrameView::scrollXForFixedPosition): Moved from ScrollView here and changed to
3108         account for page scale: when the page is scaled, the “viewport” with respect to which fixed
3109         objects are positioned is scaled as well. Since it’s now bigger than the real viewport (that is,
3110         the frame view), we move it around in proportion to the document scroll, so that when the document
3111         is fully scrolled to the bottom-right, the bottom right of the scaled viewport is visible.
3112         (WebCore::FrameView::scrollYForFixedPosition): Ditto.
3113         (WebCore::FrameView::scrollOffsetForFixedPosition): Moved from ScrollView here.
3114         * page/FrameView.h:
3115         * platform/ScrollView.cpp: Moved functions to FrameView.
3116         * platform/ScrollView.h:
3117         * rendering/RenderLayer.cpp:
3118         (WebCore::RenderLayer::updateRepaintRectsAfterScroll): Account for the RenderView being transformed.
3119         (WebCore::RenderLayer::calculateClipRects): Used scrollOffsetForFixedPosition().
3120         (WebCore::RenderLayer::backgroundClipRect): Ditto.
3121
3122 2011-02-17  Kenneth Russell  <kbr@google.com>
3123
3124         Reviewed by James Robinson.
3125
3126         Add support for GPU accelerated path rendering
3127         https://bugs.webkit.org/show_bug.cgi?id=44729
3128
3129         Incorporates the Loop and Blinn path rendering algorithm as an
3130         option to the GPU-accelerated canvas code, currently only compiled
3131         in to the Chromium port. Currently it's toggled by changing a
3132         hardcoded constant in
3133         SharedGraphicsContext3D::useLoopBlinnForPathRendering() and is
3134         disabled by default. This mechanism can be improved once we've
3135         gained more confidence in the implementation. There are some known
3136         bugs that need to be fixed first.
3137
3138         No new tests; ran some 2D Canvas tests manually with the new flag
3139         both enabled and disabled.
3140
3141         * WebCore.gypi:
3142         * platform/graphics/chromium/GLES2Canvas.cpp:
3143         (WebCore::GLES2Canvas::GLES2Canvas):
3144         (WebCore::GLES2Canvas::fillPath):
3145         * platform/graphics/chromium/GLES2Canvas.h:
3146         * platform/graphics/gpu/LoopBlinnClassifier.h:
3147         * platform/graphics/gpu/LoopBlinnLocalTriangulator.h:
3148         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3149         (WebCore::SharedGraphicsContext3D::create):
3150         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
3151         (WebCore::SharedGraphicsContext3D::createBuffer):
3152         (WebCore::SharedGraphicsContext3D::bindBuffer):
3153         (WebCore::SharedGraphicsContext3D::bufferData):
3154         (WebCore::SharedGraphicsContext3D::bufferSubData):
3155         (WebCore::SharedGraphicsContext3D::useLoopBlinnForPathRendering):
3156         (WebCore::SharedGraphicsContext3D::useLoopBlinnInteriorProgram):
3157         (WebCore::SharedGraphicsContext3D::useLoopBlinnExteriorProgram):
3158         * platform/graphics/gpu/SharedGraphicsContext3D.h:
3159         * platform/graphics/skia/GraphicsContextSkia.cpp:
3160         (WebCore::GraphicsContext::fillPath):
3161
3162 2011-02-16  Stephen White  <senorblanco@chromium.org>
3163
3164         Reviewed by James Robinson.
3165
3166         Layout Test fast/canvas/setWidthResetAfterForcedRender.html fails on
3167         accelerated 2D canvas w/compositor enabled.
3168         https://bugs.webkit.org/show_bug.cgi?id=54561
3169
3170         When resetting the CanvasRenderingContext2D, we also need to send a
3171         contentChanged() to the relevant RenderLayer.  This is similar to what
3172         is done in didDraw().
3173
3174         Covered by fast/canvas/setWidthResetAfterForcedRender.html, but note 
3175         that this test will still fail pixel tests because the compositor
3176         is not compatible with repaint tests (the green square is now white,
3177         but the half-transparent grey repaint rect does not appear).
3178
3179         * html/canvas/CanvasRenderingContext2D.cpp:
3180         (WebCore::CanvasRenderingContext2D::reset):
3181
3182 2011-02-17  Sergey Glazunov  <serg.glazunov@gmail.com>
3183
3184         Reviewed by Kenneth Russell.
3185
3186         Null out the WEBKIT_lose_context WebGL extension's context pointer when
3187         the WebGL rendering context is removed.
3188         https://bugs.webkit.org/show_bug.cgi?id=54679
3189
3190         Test: fast/canvas/webgl/context-destroyed-crash.html
3191
3192         * html/canvas/WebGLRenderingContext.cpp:
3193         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
3194         * html/canvas/WebKitLoseContext.cpp:
3195         (WebCore::WebKitLoseContext::loseContext): Add null-check for m_context.
3196         * html/canvas/WebKitLoseContext.h:
3197         (WebCore::WebKitLoseContext::contextDestroyed):
3198
3199 2011-02-17  Kenneth Russell  <kbr@google.com>
3200
3201         Reviewed by Chris Marrin.
3202
3203         Construction of Uint8Array from JS Array (and possibly others) incorrectly clamps values
3204         https://bugs.webkit.org/show_bug.cgi?id=52768
3205
3206         Removed incorrect clamping code from IntegralTypedArrayBase. Fixed
3207         code which casts from incoming double to the destination type.
3208         Changed the JSC bindings to use this code, rather than a copy of
3209         the casting code and a different constructor, in order to reuse
3210         the fix.
3211
3212         * bindings/js/JSArrayBufferViewHelper.h:
3213         (WebCore::constructArrayBufferView):
3214         * html/canvas/Int32Array.h:
3215         (WebCore::Int32Array::set):
3216         * html/canvas/Int8Array.h:
3217         (WebCore::Int8Array::set):
3218         * html/canvas/IntegralTypedArrayBase.h:
3219         (WebCore::IntegralTypedArrayBase::set):
3220         * html/canvas/Uint16Array.h:
3221         (WebCore::Uint16Array::set):
3222         * html/canvas/Uint32Array.h:
3223         (WebCore::Uint32Array::set):
3224         * html/canvas/Uint8Array.h:
3225         (WebCore::Uint8Array::set):
3226
3227 2011-02-17  Sam Weinig  <sam@webkit.org>
3228
3229         Reviewed by Dan Bernstein.
3230
3231         Knob proportion not quite right during rubber-band.
3232         <rdar://problem/9015201>
3233
3234         Change knob proportion algorithm to treat overhang as making the view smaller,
3235         rather than document bigger.
3236
3237         * platform/mac/ScrollbarThemeMac.mm:
3238         (WebCore::ScrollbarThemeMac::paint):
3239
3240 2011-02-16  Luiz Agostini  <luiz.agostini@openbossa.org>
3241
3242         Reviewed by Andreas Kling.
3243
3244         Summary: HTML5 <details> and <summary>: HTMLSummaryElement
3245         https://bugs.webkit.org/show_bug.cgi?id=54584
3246
3247         Adding class HTMLSummaryElement to build systems. This class will be used in
3248         the implementation of new HTML5 tag <summary>.
3249
3250         * CMakeLists.txt:
3251         * GNUmakefile.am:
3252         * WebCore.gypi:
3253         * WebCore.pro:
3254         * WebCore.vcproj/WebCore.vcproj:
3255         * WebCore.xcodeproj/project.pbxproj:
3256         * html/HTMLElementsAllInOne.cpp:
3257         * html/HTMLSummaryElement.cpp: Added.
3258         (WebCore::HTMLSummaryElement::create):
3259         (WebCore::HTMLSummaryElement::HTMLSummaryElement):
3260         * html/HTMLSummaryElement.h: Added.
3261         * html/HTMLTagNames.in:
3262
3263 2011-02-17  Jeremy Orlow  <jorlow@chromium.org>
3264
3265         Reviewed by Nate Chapin.
3266
3267         Throwing in an IndexedDB error or success event should lead to the transaction aborting
3268         https://bugs.webkit.org/show_bug.cgi?id=54249
3269
3270         When an exception is thrown but not handled  within an IDBRequests success/error event,
3271         we should abort the transaction.
3272
3273         Test: storage/indexeddb/exception-in-event-aborts.html
3274
3275         * bindings/js/JSEventListener.cpp:
3276         (WebCore::JSEventListener::handleEvent):
3277         * bindings/js/JSEventTarget.cpp:
3278         (WebCore::toJS):
3279         * bindings/v8/V8AbstractEventListener.cpp:
3280         (WebCore::V8AbstractEventListener::invokeEventHandler):
3281         * dom/EventTarget.cpp:
3282         (WebCore::EventTarget::uncaughtExceptionInEventHandler):
3283         * dom/EventTarget.h:
3284         * storage/IDBRequest.cpp:
3285         (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
3286         * storage/IDBRequest.h:
3287
3288 2011-02-17  Sam Weinig  <sam@webkit.org>
3289
3290         Reviewed by Maciej Stachowiak.
3291
3292         WebKit2: Support Dictionary popup
3293         <rdar://problem/7660670>
3294
3295         Add some necessary exports.
3296
3297         * WebCore.exp.in:
3298
3299 2011-02-17  W. James MacLean  <wjmaclean@chromium.org>
3300
3301         Reviewed by James Robinson.
3302
3303         [chromium] Add command-line flag to enable composite to offscreen texture.
3304         https://bugs.webkit.org/show_bug.cgi?id=52311
3305
3306         Add plumbing to allow command-line switch to enable offscreen compositing. Function
3307         LayerRendererChromium::copyOffscreenTextureToDisplay used for now to mimic
3308         normal renderer operation.
3309
3310         Existing functionality not changed; offscreen compositing will be tested via GPU test framework.
3311
3312         * platform/graphics/chromium/LayerRendererChromium.cpp:
3313         (WebCore::LayerRendererChromium::setRootLayer):
3314         (WebCore::LayerRendererChromium::setCompositeOffscreen):
3315         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
3316         (WebCore::LayerRendererChromium::useRenderSurface):
3317         (WebCore::LayerRendererChromium::setScissorToRect):
3318         * platform/graphics/chromium/LayerRendererChromium.h:
3319         (WebCore::LayerRendererChromium::isCompositingOffscreen):
3320
3321 2011-02-17  Kevin Ollivier  <kevino@theolliviers.com>
3322
3323         [wx] Build fixes after recent changes.
3324
3325         * dom/ScriptedAnimationController.h:
3326         * platform/graphics/wx/FontWx.cpp:
3327         (WebCore::Font::drawComplexText):
3328         * platform/graphics/wx/GraphicsContextWx.cpp:
3329         (WebCore::GraphicsContext::drawLineForText):
3330         (WebCore::GraphicsContext::drawLineForTextChecking):
3331         * platform/wx/WidgetWx.cpp:
3332         (WebCore::Widget::setFrameRect):
3333
3334 2011-02-16  Brian Weinstein  <bweinstein@apple.com>
3335
3336         Reviewed by Brady Eidson.
3337
3338         WebKit2: Need a way to manage the WebCore Cache
3339         https://bugs.webkit.org/show_bug.cgi?id=54501
3340         
3341         Add a way to get a set of all of the origins that have entries in the
3342         WebCore memory cache, and a method to remove all resources from the memory
3343         cache from a given security origin.
3344
3345         No change in behavior.
3346
3347         * WebCore.exp.in: Add functions that need to be exported.
3348         * loader/cache/MemoryCache.cpp:
3349         (WebCore::MemoryCache::removeResourcesWithOrigin):
3350         (WebCore::MemoryCache::getOriginsWithCache):
3351         * loader/cache/MemoryCache.h:
3352
3353 2011-02-16  David Hyatt  <hyatt@apple.com>
3354
3355         Reviewed by Dan Bernstein.
3356
3357         https://bugs.webkit.org/show_bug.cgi?id=54244
3358         
3359         Convert the line box tree to floating point and eliminate font rounding hacks.  This patch removes all of the rounding
3360         hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
3361         
3362         The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
3363         been changed as well.
3364         
3365         In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height).
3366         
3367         Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
3368         
3369         Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
3370         still have a precise floating point position.
3371
3372         Justification will now allow subpixel positioning to occur as well.  Platforms that don't support subpixel positioning should already
3373         be rounding justification spacing in their font code.
3374
3375         Many layout test results change on Mac, since rounding hacks were used there and are now gone.
3376
3377         * WebCore.exp.in:
3378         * html/canvas/CanvasRenderingContext2D.cpp:
3379         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3380         * platform/chromium/FileChooserChromium.cpp:
3381         (WebCore::FileChooser::basenameForWidth):
3382         * platform/graphics/Font.cpp:
3383         (WebCore::Font::width):
3384         * platform/graphics/Font.h:
3385         (WebCore::Font::spaceWidth):
3386         (WebCore::Font::tabWidth):
3387         * platform/graphics/FontFastPath.cpp:
3388         (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
3389         * platform/graphics/GraphicsContext.cpp:
3390         (WebCore::GraphicsContext::drawText):
3391         (WebCore::GraphicsContext::drawEmphasisMarks):
3392         (WebCore::GraphicsContext::drawBidiText):
3393         (WebCore::GraphicsContext::drawHighlightForText):
3394         * platform/graphics/GraphicsContext.h:
3395         * platform/graphics/SimpleFontData.cpp:
3396         (WebCore::SimpleFontData::SimpleFontData):
3397         (WebCore::SimpleFontData::platformGlyphInit):
3398         * platform/graphics/SimpleFontData.h:
3399         (WebCore::SimpleFontData::spaceWidth):
3400         * platform/graphics/StringTruncator.cpp:
3401         (WebCore::stringWidth):
3402         (WebCore::truncateString):
3403         (WebCore::StringTruncator::centerTruncate):
3404         (WebCore::StringTruncator::rightTruncate):
3405         (WebCore::StringTruncator::width):
3406         * platform/graphics/StringTruncator.h:
3407         * platform/graphics/TextRun.h:
3408         (WebCore::TextRun::TextRun):
3409         (WebCore::TextRun::xPos):
3410         (WebCore::TextRun::expansion):
3411         (WebCore::TextRun::directionalOverride):
3412         (WebCore::TextRun::disableSpacing):
3413         * platform/graphics/WidthIterator.cpp:
3414         (WebCore::WidthIterator::WidthIterator):
3415         (WebCore::WidthIterator::advance):
3416         * platform/graphics/WidthIterator.h:
3417         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3418         (WebCore::GraphicsContext::drawLineForText):
3419         (WebCore::GraphicsContext::drawLineForTextChecking):
3420         * platform/graphics/cg/GraphicsContextCG.cpp:
3421         (WebCore::GraphicsContext::drawLineForText):
3422         * platform/graphics/mac/ComplexTextController.cpp:
3423         (WebCore::ComplexTextController::ComplexTextController):
3424         (WebCore::ComplexTextController::advance):
3425         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3426         * platform/graphics/mac/ComplexTextController.h:
3427         * platform/graphics/mac/FontComplexTextMac.cpp:
3428         (WebCore::Font::getGlyphsAndAdvancesForComplexText):
3429         * platform/graphics/mac/GraphicsContextMac.mm:
3430         (WebCore::GraphicsContext::drawLineForTextChecking):
3431         * platform/graphics/qt/GraphicsContextQt.cpp:
3432         (WebCore::GraphicsContext::drawLineForText):
3433         (WebCore::GraphicsContext::drawLineForTextChecking):
3434         * platform/graphics/qt/SimpleFontDataQt.cpp:
3435         (WebCore::SimpleFontData::platformGlyphInit):
3436         * platform/graphics/skia/GraphicsContextSkia.cpp:
3437         (WebCore::GraphicsContext::drawLineForTextChecking):
3438         (WebCore::GraphicsContext::drawLineForText):
3439         * platform/graphics/win/GraphicsContextCGWin.cpp:
3440         (WebCore::GraphicsContext::drawLineForTextChecking):
3441         * platform/graphics/win/UniscribeController.cpp:
3442         (WebCore::UniscribeController::shapeAndPlaceItem):
3443         * platform/gtk/FileChooserGtk.cpp:
3444         (WebCore::FileChooser::basenameForWidth):
3445         * platform/mac/DragImageMac.mm:
3446         (WebCore::widthWithFont):
3447         (WebCore::drawAtPoint):
3448         * platform/mac/FileChooserMac.mm:
3449         (WebCore::FileChooser::basenameForWidth):
3450         * platform/win/DragImageWin.cpp:
3451         (WebCore::createDragImageForLink):
3452         * platform/win/FileChooserWin.cpp:
3453         (WebCore::FileChooser::basenameForWidth):
3454         * platform/win/PopupMenuWin.cpp:
3455         (WebCore::PopupMenuWin::calculatePositionAndSize):
3456         * platform/win/WebCoreTextRenderer.cpp:
3457         (WebCore::WebCoreTextFloatWidth):
3458         * rendering/HitTestResult.cpp:
3459         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
3460         * rendering/HitTestResult.h:
3461         * rendering/InlineBox.cpp:
3462         (WebCore::InlineBox::adjustPosition):
3463         (WebCore::InlineBox::placeEllipsisBox):
3464         (WebCore::InlineBox::locationIncludingFlipping):
3465         (WebCore::InlineBox::flipForWritingMode):
3466         * rendering/InlineBox.h: