2011-01-24 Mikhail Naganov <mnaganov@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-01-24  Mikhail Naganov  <mnaganov@chromium.org>
2
3         Reviewed by Yury Semikhatsky.
4
5         Web Inspector: Find duplicate strings in localizedStrings.js, update it.
6
7         https://bugs.webkit.org/show_bug.cgi?id=53005
8
9         * English.lproj/localizedStrings.js:
10
11 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
12
13         Unreviewed, build fix  for r76509.
14
15         * bindings/js/ScriptDebugServer.h:
16
17 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
18
19         Reviewed by Yury Semikhatsky.
20
21         Web Inspector: set breakpoints by line:column.
22         https://bugs.webkit.org/show_bug.cgi?id=52615
23
24         * CMakeLists.txt:
25         * GNUmakefile.am:
26         * WebCore.gypi:
27         * WebCore.pro:
28         * WebCore.vcproj/WebCore.vcproj:
29         * WebCore.xcodeproj/project.pbxproj:
30         * bindings/js/ScriptDebugServer.cpp:
31         (WebCore::ScriptDebugServer::setBreakpoint):
32         (WebCore::ScriptDebugServer::removeBreakpoint):
33         (WebCore::ScriptDebugServer::hasBreakpoint):
34         (WebCore::ScriptDebugServer::clearBreakpoints):
35         * bindings/js/ScriptDebugServer.h:
36         * bindings/v8/DebuggerScript.js:
37         ():
38         * bindings/v8/ScriptDebugServer.cpp:
39         (WebCore::ScriptDebugServer::setBreakpoint):
40         * bindings/v8/ScriptDebugServer.h:
41         * inspector/Inspector.idl:
42         * inspector/InspectorBrowserDebuggerAgent.cpp:
43         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
44         * inspector/InspectorDebuggerAgent.cpp:
45         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
46         (WebCore::InspectorDebuggerAgent::setBreakpoint):
47         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
48         (WebCore::InspectorDebuggerAgent::didParseSource):
49         * inspector/InspectorDebuggerAgent.h:
50         * inspector/ScriptBreakpoint.cpp: Removed.
51         * inspector/ScriptBreakpoint.h:
52         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
53         * inspector/front-end/Breakpoint.js:
54         (WebInspector.Breakpoint):
55         (WebInspector.Breakpoint.prototype.get url):
56         * inspector/front-end/BreakpointManager.js:
57         (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON):
58         * inspector/front-end/DebuggerModel.js:
59         (WebInspector.DebuggerModel.prototype.continueToLine):
60         (WebInspector.DebuggerModel.prototype.setBreakpoint):
61         (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend):
62         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
63
64 2011-01-24  Peter Beverloo  <peter@chromium.org>
65
66         Reviewed by Pavel Feldman.
67
68         Web Inspector: recognize application/x-font-woff as a valid mime-type.
69         https://bugs.webkit.org/show_bug.cgi?id=52977
70
71         No new tests.
72
73         * inspector/front-end/inspector.js:
74
75 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
76
77         Unreviewed, fix for r76497.
78
79         * inspector/front-end/ResourcesPanel.js:
80         (WebInspector.ResourcesPanel.prototype.show):
81
82 2011-01-24  Andreas Kling  <kling@webkit.org>
83
84         Reviewed by Tor Arne Vestbø.
85
86         [Qt] Use rad2deg() from WTF instead of rolling our own.
87         https://bugs.webkit.org/show_bug.cgi?id=52993
88
89         * platform/graphics/qt/GraphicsContextQt.cpp:
90         (WebCore::GraphicsContext::rotate):
91         * platform/graphics/qt/PathQt.cpp:
92         (WebCore::Path::addArc):
93
94 2011-01-24  Sergio Villar Senin  <svillar@igalia.com>
95
96         Reviewed by Martin Robinson.
97
98         [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
99         https://bugs.webkit.org/show_bug.cgi?id=52885
100
101         No new tests as it does not change functionality. We will not wait for
102         the the input stream to close to issue didFinishLoading to
103         WebCore. We expect a subtle performance improvement with this
104         patch when loading complex web pages, as we wouldn't have to wait
105         for the stream to close (which involves creating a thread among
106         other things).
107
108         * platform/network/soup/ResourceHandleSoup.cpp:
109         (WebCore::closeCallback):
110         (WebCore::readCallback):
111
112 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
113
114         Reviewed by Pavel Feldman.
115
116         Web Inspector: eliminate SourceView and ScriptView classes.
117         https://bugs.webkit.org/show_bug.cgi?id=52896
118
119         SourceView and ScriptView delegate everything to SourceFrame and should be eliminated.
120
121         * WebCore.gypi:
122         * WebCore.vcproj/WebCore.vcproj:
123         * inspector/front-end/GoToLineDialog.js:
124         (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
125         * inspector/front-end/ResourceView.js:
126         (WebInspector.ResourceView.createResourceView):
127         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
128         (WebInspector.SourceFrameContentProviderForResource):  Moved from SourceView.
129         * inspector/front-end/ResourcesPanel.js:
130         (WebInspector.ResourcesPanel.prototype.show):
131         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
132         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
133         * inspector/front-end/ScriptView.js: Removed.
134         * inspector/front-end/ScriptsPanel.js:
135         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
136         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
137         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
138         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
139         (WebInspector.ScriptsPanel.prototype._formatScript):
140         (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView.
141         * inspector/front-end/SourceFrame.js:
142         (WebInspector.SourceFrame):
143         (WebInspector.SourceFrame.prototype.show):
144         (WebInspector.SourceFrame.prototype.hide):
145         (WebInspector.SourceFrame.prototype.hasContent):
146         (WebInspector.SourceFrame.prototype._createTextViewer):
147         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
148         (WebInspector.SourceFrame.prototype.performSearch):
149         * inspector/front-end/SourceView.js: Removed.
150         * inspector/front-end/WebKit.qrc:
151         * inspector/front-end/inspector.html:
152
153 2011-01-24  Andras Becsi  <abecsi@webkit.org>
154
155         Reviewed by Csaba Osztrogonác.
156
157         [Qt] Move project files into Source
158         https://bugs.webkit.org/show_bug.cgi?id=52891
159
160         No new tests needed.
161
162         * WebCore.pri:
163         * WebCore.pro:
164
165 2011-01-24  Kent Tamura  <tkent@chromium.org>
166
167         Unreviewed, trivial fix.
168
169         Fix a Chromium-only assertion failure by r76491.
170         https://bugs.webkit.org/show_bug.cgi?id=38982
171
172         Separate icon loading from the FileChooser constructor in order to avoid
173         ref() before adoptRef().
174
175         * platform/FileChooser.cpp:
176         (WebCore::FileChooser::FileChooser):
177         (WebCore::FileChooser::initialize):
178         (WebCore::FileChooser::create):
179         * platform/FileChooser.h:
180
181 2011-01-24  MORITA Hajime  <morrita@google.com>
182
183         Reviewed by Kent Tamura.
184
185         TextControlInnerElement::m_shadowParent should be removed.
186         https://bugs.webkit.org/show_bug.cgi?id=52998
187
188         No new tests. No behavioral change.
189
190         * rendering/TextControlInnerElements.cpp:
191         (WebCore::TextControlInnerElement::TextControlInnerElement):
192         * rendering/TextControlInnerElements.h:
193
194 2011-01-24  Yury Semikhatsky  <yurys@chromium.org>
195
196         Reviewed by Pavel Feldman.
197
198         REGRESSION (r72895): console.trace crashes
199         https://bugs.webkit.org/show_bug.cgi?id=52981
200
201         - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has
202         non-null value.
203         - Use PassRefPtr for objects whos ownership is passed to the inspector.
204
205         * GNUmakefile.am:
206         * WebCore.gypi:
207         * WebCore.pro:
208         * WebCore.vcproj/WebCore.vcproj:
209         * WebCore.xcodeproj/project.pbxproj:
210         * inspector/InspectorConsoleInstrumentation.h: Added. Extract inline methods called from the console into their
211         own header to reduce compilation time of other classes that depend on the inspector instrumentation.
212         (WebCore::InspectorInstrumentation::addMessageToConsole):
213         (WebCore::InspectorInstrumentation::consoleCount):
214         (WebCore::InspectorInstrumentation::startConsoleTiming):
215         (WebCore::InspectorInstrumentation::stopConsoleTiming):
216         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
217         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
218         (WebCore::InspectorInstrumentation::addProfile):
219         (WebCore::InspectorInstrumentation::profilerEnabled):
220         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
221         * inspector/InspectorDatabaseInstrumentation.h: Added. Extract inline methods called from the datanase code into their
222         own header to reduce compilation time of other classes that depend on the inspector instrumentation.
223         (WebCore::InspectorInstrumentation::didOpenDatabase):
224         * inspector/InspectorInstrumentation.cpp:
225         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
226         (WebCore::InspectorInstrumentation::consoleCountImpl):
227         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
228         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
229         (WebCore::InspectorInstrumentation::addProfileImpl):
230         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
231         * inspector/InspectorInstrumentation.h:
232         * page/Console.cpp: use RefPtr local variable instead of accessing PassRefPtr argument directly.
233         (WebCore::Console::addMessage):
234         (WebCore::Console::trace):
235         (WebCore::Console::count):
236         (WebCore::Console::markTimeline):
237         (WebCore::Console::profileEnd):
238         (WebCore::Console::timeEnd):
239         (WebCore::Console::group):
240         (WebCore::Console::groupCollapsed):
241         * storage/Database.cpp:
242         (WebCore::Database::openDatabase):
243
244 2010-01-24  Kent Tamura  <tkent@chromium.org>
245
246         Reviewed by Darin Fisher.
247
248         [Chromium] Support icon loading for <input type=file>
249         https://bugs.webkit.org/show_bug.cgi?id=38982
250
251         An icon data in Chromium port is represented as WebCore::Image. We
252         don't need OS-specific code anymore.
253
254         * WebCore.gypi:
255         * platform/graphics/Icon.h:
256         (WebCore::Icon::create): Add Chromium-specific factory.
257         * platform/graphics/chromium/IconChromium.cpp: Added.
258         * platform/graphics/chromium/IconChromiumLinux.cpp: Removed.
259         * platform/graphics/chromium/IconChromiumMac.cpp: Removed.
260         * platform/graphics/chromium/IconChromiumWin.cpp: Removed.
261         * platform/graphics/chromium/PlatformIcon.h:
262
263 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
264
265         Reviewed by Pavel Feldman.
266
267         Web Inspector: move search functions from SourceView to SourceFrame.
268         https://bugs.webkit.org/show_bug.cgi?id=52895
269
270         This is the last step before eliminating SourceView and ScriptView since
271         this classes just delegate everything to SourceFrame.
272
273         * inspector/front-end/SourceFrame.js:
274         (WebInspector.SourceFrame.prototype.set visible):
275         (WebInspector.SourceFrame.prototype._clearLineHighlight):
276         (WebInspector.SourceFrame.prototype._createTextViewer):
277         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
278         (WebInspector.SourceFrame.prototype.performSearch):
279         (WebInspector.SourceFrame.prototype.searchCanceled):
280         (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
281         (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
282         (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
283         (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
284         (WebInspector.SourceFrame.prototype.showingFirstSearchResult):
285         (WebInspector.SourceFrame.prototype.showingLastSearchResult):
286         (WebInspector.SourceFrame.prototype._jumpToSearchResult):
287         * inspector/front-end/SourceView.js:
288         (WebInspector.SourceView.prototype.hide):
289         (WebInspector.SourceView.prototype.searchCanceled):
290         (WebInspector.SourceView.prototype.performSearch):
291         (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
292         (WebInspector.SourceView.prototype.jumpToLastSearchResult):
293         (WebInspector.SourceView.prototype.jumpToNextSearchResult):
294         (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
295         (WebInspector.SourceView.prototype.showingFirstSearchResult):
296         (WebInspector.SourceView.prototype.showingLastSearchResult):
297         (WebInspector.SourceView.prototype.clearMessages):
298
299 2011-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
300
301         Unreviewed, rolling out r76463.
302         http://trac.webkit.org/changeset/76463
303         https://bugs.webkit.org/show_bug.cgi?id=52993
304
305         It broke canvas/philip/tests/2d.path.stroke.skew.html
306         (Requested by Ossy on #webkit).
307
308         * platform/graphics/qt/GraphicsContextQt.cpp:
309         (WebCore::GraphicsContext::rotate):
310         * platform/graphics/qt/PathQt.cpp:
311         (WebCore::Path::addArc):
312
313 2011-01-23  Andrey Kosyakov  <caseq@chromium.org>
314
315         Reviewed by Pavel Feldman.
316
317         Web Inspector: summary bar is not resized properly with the rest of network panel
318         https://bugs.webkit.org/show_bug.cgi?id=52881
319
320         * inspector/front-end/NetworkPanel.js:
321         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
322         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
323         (WebInspector.NetworkPanel.prototype._toggleGridMode):
324
325 2011-01-19  MORITA Hajime  <morrita@google.com>
326
327         Reviewed by Ryosuke Niwa.
328
329         Space and tab characters "sent" by an input method give totally different results than typing them directly
330         https://bugs.webkit.org/show_bug.cgi?id=5241
331         
332         * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
333           distinguish text input which is originated by composition.
334         * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
335           range of string on text node, instead of surrounding part of that.
336
337         Test: editing/inserting/insert-composition-whitespace.html
338
339         * dom/TextEvent.h:
340         (WebCore::TextEvent::isComposition):
341         * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
342         * editing/CompositeEditCommand.cpp:
343         (WebCore::containsOnlyWhitespace):
344         (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
345         (WebCore::CompositeEditCommand::canRebalance):
346         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
347         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
348         * editing/CompositeEditCommand.h:
349         * editing/Editor.cpp:
350         (WebCore::Editor::insertTextForConfirmedComposition): Added.
351         (WebCore::Editor::insertTextWithoutSendingTextEvent):
352         (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
353         (WebCore::Editor::setComposition):
354         * editing/Editor.h:
355         * editing/InsertTextCommand.cpp:
356         (WebCore::InsertTextCommand::input):
357         * editing/InsertTextCommand.h:
358         * editing/TypingCommand.cpp:
359         (WebCore::TypingCommand::TypingCommand):
360         (WebCore::TypingCommand::insertText):
361         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
362         * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
363         (WebCore::TypingCommand::setCompositionType): Added.
364         (WebCore::TypingCommand::create):
365
366 2011-01-23  Mark Rowe  <mrowe@apple.com>
367
368         Follow-up to r76477.
369
370         Fix the scripts that detect problematic code such as static initializers
371         and destructors, weak vtables, inappropriate files in the framework wrappers,
372         and public headers including private headers. These had all been broken
373         since the projects were moved in to the Source directory as the paths to the
374         scripts were not updated at that time.
375
376         Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense.
377
378         * WebCore.xcodeproj/project.pbxproj:
379
380 2011-01-23  Mark Rowe  <mrowe@apple.com>
381
382         Build fix after r76459.
383
384         Static member variables or globals of types that have constructors or destructors are bad as
385         they generate static initializers and destructors. This is code that is run either at link time
386         when the library is loaded in to memory or at application termination time. Both of these are
387         terrible for performance and are thus outlawed in WebKit code.
388
389         The typical solution is to replace the static member or global with a function that allocates
390         the necessary variable on the heap. The variable is leaked to prevent it from being destroyed
391         at application termination time. The DEFINE_STATIC_LOCAL macro wraps this in to a concise little
392         package, but sadly fails to work in this case due to the type containing multiple template
393         parameters.
394         
395         * inspector/InspectorInstrumentation.cpp:
396         (WebCore::InspectorInstrumentation::inspectorAgents):
397         * inspector/InspectorInstrumentation.h:
398         (WebCore::InspectorInstrumentation::bindInspectorAgent):
399         (WebCore::InspectorInstrumentation::unbindInspectorAgent):
400         (WebCore::InspectorInstrumentation::inspectorAgentForPage):
401
402 2011-01-21  Vangelis Kokkevis  <vangelis@chromium.org>
403
404         Reviewed by Kenneth Russell.
405
406         [chromium] Add support for -webkit-mask properties to the
407         accelerated compositing path.
408         https://bugs.webkit.org/show_bug.cgi?id=49780
409          
410         Tests: Existing tests in LayoutTests/compositing/masks
411
412         * platform/graphics/chromium/ContentLayerChromium.cpp:
413         (WebCore::ContentLayerChromium::draw):
414         (WebCore::ContentLayerChromium::unreserveContentsTexture):
415         (WebCore::ContentLayerChromium::bindContentsTexture):
416         * platform/graphics/chromium/ContentLayerChromium.h:
417         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
418         (WebCore::GraphicsLayerChromium::setMaskLayer):
419         * platform/graphics/chromium/GraphicsLayerChromium.h:
420         * platform/graphics/chromium/LayerChromium.cpp:
421         (WebCore::LayerChromium::LayerChromium):
422         * platform/graphics/chromium/LayerChromium.h:
423         (WebCore::LayerChromium::setMaskLayer):
424         (WebCore::LayerChromium::maskLayer):
425         (WebCore::LayerChromium::unreserveContentsTexture):
426         (WebCore::LayerChromium::bindContentsTexture):
427         * platform/graphics/chromium/LayerRendererChromium.cpp:
428         (WebCore::LayerRendererChromium::updateLayersRecursive):
429         * platform/graphics/chromium/LayerTexture.cpp:
430         (WebCore::LayerTexture::bindTexture):
431         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
432         (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
433         (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
434         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
435         (WebCore::RenderSurfaceChromium::draw):
436         * platform/graphics/chromium/RenderSurfaceChromium.h:
437         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderProgram):
438         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderSamplerLocation):
439         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMaskSamplerLocation):
440         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMatrixLocation):
441         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderAlphaLocation):
442
443 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
444
445         Reviewed by Darin Adler.
446
447         Use WTF::StringHasher in WebCore
448         https://bugs.webkit.org/show_bug.cgi?id=52934
449
450         * loader/appcache/ApplicationCacheStorage.cpp:
451         (WebCore::urlHostHash):
452         * platform/LinkHash.cpp:
453         (WebCore::visitedLinkHashInline):
454         * platform/cf/BinaryPropertyList.cpp:
455         (WebCore::IntegerArrayHash::hash):
456         * platform/graphics/wx/FontPlatformDataWx.cpp:
457         (WebCore::FontPlatformData::computeHash):
458         * platform/network/ProtectionSpaceHash.h:
459         (WebCore::ProtectionSpaceHash::hash):
460
461 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
462
463         Reviewed by David Kilzer.
464
465         Add an overload to base64Encode with String output
466         https://bugs.webkit.org/show_bug.cgi?id=50122
467
468         This change removes duplicated code.
469
470         * inspector/InspectorResourceAgent.cpp:
471         (WebCore::InspectorResourceAgent::resourceContentBase64):
472         * page/DOMWindow.cpp:
473         (WebCore::DOMWindow::btoa):
474         * platform/graphics/skia/FontCustomPlatformData.cpp:
475         (WebCore::createUniqueFontName):
476         * platform/graphics/win/FontCustomPlatformData.cpp:
477         (WebCore::createUniqueFontName):
478         * platform/graphics/wince/FontCustomPlatformData.cpp:
479         (WebCore::createUniqueFontName):
480         * platform/network/cf/ResourceHandleCFNet.cpp:
481         (WebCore::encodeBasicAuthorization):
482         * platform/network/mac/ResourceHandleMac.mm:
483         (WebCore::encodeBasicAuthorization):
484         * platform/text/Base64.cpp:
485         (WebCore::base64Encode):
486         * platform/text/Base64.h:
487         (WebCore::base64Encode):
488         * platform/wince/KeygenWinCE.cpp:
489         (WebCore::WebCore::signedPublicKeyAndChallengeString):
490
491 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
492
493         Reviewed by David Kilzer.
494
495         Add String::containsOnlyLatin1()
496         https://bugs.webkit.org/show_bug.cgi?id=52979
497
498         Use String::containsOnlyLatin1() instead of isSafeToConvertCharList().
499
500         * page/DOMWindow.cpp:
501         (WebCore::DOMWindow::btoa):
502         (WebCore::DOMWindow::atob):
503
504 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
505
506         Reviewed by Andreas Kling.
507
508         [CMake] Add missing CodeGenerator dependencies
509         https://bugs.webkit.org/show_bug.cgi?id=52976
510
511         * CMakeLists.txt:
512
513 2011-01-23  Yael Aharon  <yael.aharon@nokia.com>
514
515         Reviewed by Kenneth Rohde Christiansen.
516
517         [Qt][Symbian] Fix --minimal build
518         https://bugs.webkit.org/show_bug.cgi?id=52839
519
520         Some of the plugins' functionality is reimplemented in
521         Symbian specific files.
522         Some of this functionality should be compiled in even if 
523         the guard NETSCAPE_PLUGIN_API is turned off.
524         This patch moves that functionality out of the
525         NETSCAPE_PLUGIN_API guard.
526
527         Build fix so no new tests.
528
529         * WebCore.pro:
530         * plugins/symbian/PluginPackageSymbian.cpp:
531
532 2011-01-23  Andreas Kling  <kling@webkit.org>
533
534         Reviewed by Tor Arne Vestbø.
535
536         [Qt] Use rad2deg() from WTF instead of rolling our own.
537
538         * platform/graphics/qt/GraphicsContextQt.cpp:
539         (WebCore::GraphicsContext::rotate):
540         * platform/graphics/qt/PathQt.cpp:
541         (WebCore::Path::addArc):
542
543 2011-01-23  Kenneth Rohde Christiansen <kenneth@webkit.org>
544
545         Reviewed by Andreas Kling.
546
547         Viewport meta: Always adjust device dimensions to the device pixel ratio.
548
549         * dom/ViewportArguments.cpp:
550         (WebCore::computeViewportAttributes):
551
552 2011-01-23  Andreas Kling  <kling@webkit.org>
553
554         Reviewed by Kenneth Rohde Christiansen.
555
556         Don't scale absolute geometry specified by viewport meta tag.
557
558         * dom/ViewportArguments.cpp:
559         (WebCore::computeViewportAttributes):
560
561 2011-01-23  Ilya Tikhonovsky  <loislo@chromium.org>
562
563         Unreviewed build fix.
564
565         Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher.
566
567         Touch Inspector.idl.
568
569         * inspector/Inspector.idl:
570
571 2011-01-22  Ilya Tikhonovsky  <loislo@chromium.org>
572
573         Reviewed by Pavel Feldman.
574
575         Web Inspector: next step in splitting InspectorController.
576
577         Splitting InspectorController is a bit tricky process.
578
579         As a first step I'll do the next things:
580         1) rename existing InspectorController to InspectorAgent;
581         2) s/nspectorController/nspectorAgent/g everywhere in WebCore/inspector but InspectorInstrumentation;
582         3) create a fake InspectorController derived from the InspectorAgent for the rest of WebCore and WebKit;
583
584         The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController.
585
586         As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch.
587
588         https://bugs.webkit.org/show_bug.cgi?id=52955
589
590         * CMakeLists.txt:
591         * GNUmakefile.am:
592         * WebCore.exp.in:
593         * WebCore.gypi:
594         * WebCore.pro:
595         * WebCore.vcproj/WebCore.vcproj:
596         * WebCore.xcodeproj/project.pbxproj:
597         * bindings/js/JSInjectedScriptHostCustom.cpp:
598         (WebCore::JSInjectedScriptHost::nodeForId):
599         (WebCore::JSInjectedScriptHost::selectDOMStorage):
600         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
601         (WebCore::V8InjectedScriptHost::nodeForIdCallback):
602         * inspector/CodeGeneratorInspector.pm:
603         * inspector/InjectedScriptHost.cpp:
604         (WebCore::InjectedScriptHost::InjectedScriptHost):
605         (WebCore::InjectedScriptHost::clearConsoleMessages):
606         (WebCore::InjectedScriptHost::databaseForId):
607         (WebCore::InjectedScriptHost::selectDatabase):
608         (WebCore::InjectedScriptHost::selectDOMStorage):
609         (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
610         (WebCore::InjectedScriptHost::inspectorDOMAgent):
611         (WebCore::InjectedScriptHost::frontend):
612         (WebCore::InjectedScriptHost::didCreateWorker):
613         (WebCore::InjectedScriptHost::didDestroyWorker):
614         * inspector/InjectedScriptHost.h:
615         (WebCore::InjectedScriptHost::create):
616         (WebCore::InjectedScriptHost::inspectorAgent):
617         (WebCore::InjectedScriptHost::disconnectController):
618         * inspector/InspectorAgent.cpp: Copied from Source/WebCore/inspector/InspectorController.cpp.
619         (WebCore::InspectorAgent::InspectorAgent):
620         (WebCore::InspectorAgent::~InspectorAgent):
621         (WebCore::InspectorAgent::inspectedPageDestroyed):
622         (WebCore::InspectorAgent::enabled):
623         (WebCore::InspectorAgent::inspectorStartsAttached):
624         (WebCore::InspectorAgent::setInspectorStartsAttached):
625         (WebCore::InspectorAgent::setInspectorAttachedHeight):
626         (WebCore::InspectorAgent::inspectorAttachedHeight):
627         (WebCore::InspectorAgent::searchingForNodeInPage):
628         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
629         (WebCore::InspectorAgent::inspect):
630         (WebCore::InspectorAgent::focusNode):
631         (WebCore::InspectorAgent::highlight):
632         (WebCore::InspectorAgent::highlightDOMNode):
633         (WebCore::InspectorAgent::highlightFrame):
634         (WebCore::InspectorAgent::hideHighlight):
635         (WebCore::InspectorAgent::mouseDidMoveOverElement):
636         (WebCore::InspectorAgent::handleMousePress):
637         (WebCore::InspectorAgent::setInspectorFrontendClient):
638         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
639         (WebCore::InspectorAgent::setSearchingForNode):
640         (WebCore::InspectorAgent::connectFrontend):
641         (WebCore::InspectorAgent::show):
642         (WebCore::InspectorAgent::showPanel):
643         (WebCore::InspectorAgent::close):
644         (WebCore::InspectorAgent::disconnectFrontend):
645         (WebCore::InspectorAgent::resourceAgent):
646         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
647         (WebCore::InspectorAgent::populateScriptObjects):
648         (WebCore::InspectorAgent::pushDataCollectedOffline):
649         (WebCore::InspectorAgent::restoreDebugger):
650         (WebCore::InspectorAgent::restoreProfiler):
651         (WebCore::InspectorAgent::unbindAllResources):
652         (WebCore::InspectorAgent::didCommitLoad):
653         (WebCore::InspectorAgent::mainResourceFiredDOMContentEvent):
654         (WebCore::InspectorAgent::mainResourceFiredLoadEvent):
655         (WebCore::InspectorAgent::isMainResourceLoader):
656         (WebCore::InspectorAgent::willSendRequest):
657         (WebCore::InspectorAgent::ensureSettingsLoaded):
658         (WebCore::InspectorAgent::startTimelineProfiler):
659         (WebCore::InspectorAgent::stopTimelineProfiler):
660         (WebCore::PostWorkerNotificationToFrontendTask::create):
661         (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
662         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
663         (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
664         (WebCore::InspectorAgent::didCreateWorker):
665         (WebCore::InspectorAgent::didDestroyWorker):
666         (WebCore::InspectorAgent::didOpenDatabase):
667         (WebCore::InspectorAgent::getCookies):
668         (WebCore::InspectorAgent::buildArrayForCookies):
669         (WebCore::InspectorAgent::buildObjectForCookie):
670         (WebCore::InspectorAgent::deleteCookie):
671         (WebCore::InspectorAgent::didUseDOMStorage):
672         (WebCore::InspectorAgent::didCreateWebSocket):
673         (WebCore::InspectorAgent::willSendWebSocketHandshakeRequest):
674         (WebCore::InspectorAgent::didReceiveWebSocketHandshakeResponse):
675         (WebCore::InspectorAgent::didCloseWebSocket):
676         (WebCore::InspectorAgent::isRecordingUserInitiatedProfile):
677         (WebCore::InspectorAgent::startUserInitiatedProfiling):
678         (WebCore::InspectorAgent::stopUserInitiatedProfiling):
679         (WebCore::InspectorAgent::profilerEnabled):
680         (WebCore::InspectorAgent::enableProfiler):
681         (WebCore::InspectorAgent::disableProfiler):
682         (WebCore::InspectorAgent::showAndEnableDebugger):
683         (WebCore::InspectorAgent::enableDebugger):
684         (WebCore::InspectorAgent::disableDebugger):
685         (WebCore::InspectorAgent::resume):
686         (WebCore::InspectorAgent::setAllBrowserBreakpoints):
687         (WebCore::InspectorAgent::evaluateForTestInFrontend):
688         (WebCore::InspectorAgent::didEvaluateForTestInFrontend):
689         (WebCore::quadToPath):
690         (WebCore::drawOutlinedQuad):
691         (WebCore::drawOutlinedQuadWithClip):
692         (WebCore::drawHighlightForBox):
693         (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
694         (WebCore::convertFromFrameToMainFrame):
695         (WebCore::frameToMainFrameOffset):
696         (WebCore::InspectorAgent::drawNodeHighlight):
697         (WebCore::InspectorAgent::drawElementTitle):
698         (WebCore::InspectorAgent::openInInspectedWindow):
699         (WebCore::InspectorAgent::addScriptToEvaluateOnLoad):
700         (WebCore::InspectorAgent::removeAllScriptsToEvaluateOnLoad):
701         (WebCore::InspectorAgent::setInspectorExtensionAPI):
702         (WebCore::InspectorAgent::inspectedURL):
703         (WebCore::InspectorAgent::reloadPage):
704         (WebCore::InspectorAgent::setExtraHeaders):
705         * inspector/InspectorAgent.h: Copied from Source/WebCore/inspector/InspectorController.h.
706         (WebCore::InspectorAgent::inspectorBackendDispatcher):
707         (WebCore::InspectorAgent::inspectorClient):
708         (WebCore::InspectorAgent::injectedScriptHost):
709         (WebCore::InspectorAgent::inspectedPage):
710         (WebCore::InspectorAgent::hideDOMNodeHighlight):
711         (WebCore::InspectorAgent::hideFrameHighlight):
712         (WebCore::InspectorAgent::frontend):
713         (WebCore::InspectorAgent::inspectorController):
714         (WebCore::InspectorAgent::inspectorAgent):
715         (WebCore::InspectorAgent::consoleAgent):
716         (WebCore::InspectorAgent::cssAgent):
717         (WebCore::InspectorAgent::domAgent):
718         (WebCore::InspectorAgent::injectedScriptAgent):
719         (WebCore::InspectorAgent::runtimeAgent):
720         (WebCore::InspectorAgent::timelineAgent):
721         (WebCore::InspectorAgent::databaseAgent):
722         (WebCore::InspectorAgent::domStorageAgent):
723         (WebCore::InspectorAgent::fileSystemAgent):
724         (WebCore::InspectorAgent::browserDebuggerAgent):
725         (WebCore::InspectorAgent::debuggerAgent):
726         (WebCore::InspectorAgent::profilerAgent):
727         (WebCore::InspectorAgent::applicationCacheAgent):
728         (WebCore::InspectorAgent::hasInspectorFrontendClient):
729         (WebCore::InspectorAgent::hasFrontend):
730         (WebCore::InspectorAgent::startProfiling):
731         (WebCore::InspectorAgent::stopProfiling):
732         (WebCore::InspectorAgent::debuggerEnabled):
733         (WebCore::InspectorAgent::state):
734         (WebCore::InspectorAgent::settings):
735         * inspector/InspectorApplicationCacheAgent.cpp:
736         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
737         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
738         * inspector/InspectorApplicationCacheAgent.h:
739         * inspector/InspectorBrowserDebuggerAgent.cpp:
740         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
741         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
742         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
743         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
744         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
745         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
746         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
747         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
748         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
749         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
750         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
751         * inspector/InspectorBrowserDebuggerAgent.h:
752         (WebCore::InspectorBrowserDebuggerAgent::create):
753         * inspector/InspectorConsoleAgent.cpp:
754         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
755         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
756         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
757         (WebCore::InspectorConsoleAgent::addMessageToConsole):
758         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
759         (WebCore::InspectorConsoleAgent::didReceiveResponse):
760         (WebCore::InspectorConsoleAgent::didFailLoading):
761         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
762         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
763         (WebCore::InspectorConsoleAgent::addConsoleMessage):
764         * inspector/InspectorConsoleAgent.h:
765         * inspector/InspectorController.cpp:
766         (WebCore::InspectorController::InspectorController):
767         * inspector/InspectorController.h:
768         * inspector/InspectorDatabaseAgent.cpp:
769         * inspector/InspectorDebuggerAgent.cpp:
770         (WebCore::InspectorDebuggerAgent::create):
771         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
772         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
773         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
774         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
775         (WebCore::InspectorDebuggerAgent::currentCallFrames):
776         * inspector/InspectorDebuggerAgent.h:
777         * inspector/InspectorFileSystemAgent.cpp:
778         (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
779         (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
780         (WebCore::InspectorFileSystemAgent::stop):
781         (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
782         (WebCore::InspectorFileSystemAgent::didGetFileSystemPath):
783         (WebCore::InspectorFileSystemAgent::didGetFileSystemError):
784         * inspector/InspectorFileSystemAgent.h:
785         (WebCore::InspectorFileSystemAgent::create):
786         * inspector/InspectorFrontendHost.cpp:
787         (WebCore::InspectorFrontendHost::setExtensionAPI):
788         * inspector/InspectorProfilerAgent.cpp:
789         (WebCore::InspectorProfilerAgent::create):
790         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
791         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
792         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
793         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
794         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
795         * inspector/InspectorProfilerAgent.h:
796
797 2011-01-22  Chris Rogers  <crogers@google.com>
798
799         Rubber-stamped by Anders Carlsson.
800
801         Fix FFTFrameStub to compile properly
802         https://bugs.webkit.org/show_bug.cgi?id=52969
803
804         No new tests since this is a build fix.
805
806         * platform/audio/FFTFrameStub.cpp:
807         (WebCore::FFTFrame::FFTFrame):
808
809 2011-01-22  Andrei Popescu  <andreip@google.com>
810
811         Reviewed by Jeremy Orlow.
812
813         IndexedDB corrupts data on disk
814         https://bugs.webkit.org/show_bug.cgi?id=52890
815
816         We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT.
817         Test: storage/indexeddb/data-corruption.html
818
819         * platform/sql/SQLiteStatement.cpp:
820         (WebCore::SQLiteStatement::bindBlob):
821         (WebCore::SQLiteStatement::getColumnBlobAsString):
822         (WebCore::SQLiteStatement::getColumnBlobAsVector):
823         * platform/sql/SQLiteStatement.h:
824         * storage/IDBCursorBackendImpl.cpp:
825         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
826         * storage/IDBFactoryBackendImpl.cpp:
827         (WebCore::runCommands):
828         (WebCore::createTables):
829         (WebCore::createMetaDataTable):
830         (WebCore::migrateDatabase):
831         * storage/IDBObjectStoreBackendImpl.cpp:
832         (WebCore::IDBObjectStoreBackendImpl::getInternal):
833         (WebCore::putObjectStoreData):
834
835 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
836
837         Not reviewed. Fix WinCE build.
838
839         * platform/graphics/wince/GraphicsContextWinCE.cpp:
840         (WebCore::GraphicsContext::drawText):
841         * rendering/RenderThemeWinCE.cpp:
842         (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
843
844 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
845
846         Reviewed by Dirk Schulze.
847
848         REGRESSION: Vertical line metrics incorrect
849         https://bugs.webkit.org/show_bug.cgi?id=52960
850
851         SimpleFontDataMac.mm contains a hack to modifiy lineGap/descent for the 'Hiragino' font.
852         That didn't influence the lineSpacing so far, but does now, causing regressions.
853
854         Restore old line spacing behaviour to fix the regression.
855         Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases.
856
857         * platform/graphics/FontMetrics.h:
858         (WebCore::FontMetrics::FontMetrics):
859         (WebCore::FontMetrics::floatLineSpacing):
860         (WebCore::FontMetrics::setLineSpacing):
861         (WebCore::FontMetrics::lineSpacing):
862         (WebCore::FontMetrics::reset):
863         * platform/graphics/SimpleFontData.cpp:
864         (WebCore::SimpleFontData::SimpleFontData):
865         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
866         (WebCore::SimpleFontData::platformInit):
867         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
868         (WebCore::SimpleFontData::platformInit):
869         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
870         (WebCore::SimpleFontData::platformInit):
871         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
872         (WebCore::SimpleFontData::platformInit):
873         * platform/graphics/mac/SimpleFontDataMac.mm:
874         (WebCore::SimpleFontData::platformInit):
875         * platform/graphics/pango/SimpleFontDataPango.cpp:
876         (WebCore::SimpleFontData::platformInit):
877         * platform/graphics/qt/SimpleFontDataQt.cpp:
878         (WebCore::SimpleFontData::platformInit):
879         * platform/graphics/win/SimpleFontDataCGWin.cpp:
880         (WebCore::SimpleFontData::platformInit):
881         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
882         (WebCore::SimpleFontData::platformInit):
883         * platform/graphics/win/SimpleFontDataWin.cpp:
884         (WebCore::SimpleFontData::initGDIFont):
885         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
886         (WebCore::SimpleFontData::platformInit):
887         * platform/graphics/wx/SimpleFontDataWx.cpp:
888         (WebCore::SimpleFontData::platformInit):
889
890 2011-01-22  Andreas Kling  <kling@webkit.org>
891
892         Reviewed by Kenneth Rohde Christiansen.
893
894         [Qt] fast/backgrounds/svg-as-mask.html fails
895         https://bugs.webkit.org/show_bug.cgi?id=52906
896
897         Transparency layers should start out with in SourceOver mode with
898         alpha 1.0 (modeled after CGContextBeginTransparencyLayer.)
899
900         * platform/graphics/qt/TransparencyLayer.h:
901         (WebCore::TransparencyLayer::TransparencyLayer):
902
903 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
904
905         Not reviewed.
906
907         Introduce FontMetrics abstraction
908         https://bugs.webkit.org/show_bug.cgi?id=51456
909
910         Fix Chromium/Win build.
911
912         * platform/graphics/chromium/UniscribeHelperTextRun.cpp: s/->/./
913         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
914
915 2011-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
916
917         Reviewed by Dirk Schulze.
918
919         Introduce FontMetrics abstraction
920         https://bugs.webkit.org/show_bug.cgi?id=51456
921
922         Encapsulate ascent/descent/lineHeight/lineGap methods in a single FontMetrics class, instead of
923         having to define them in both Font & SimpleFontData. Changed to store floating point values
924         as default, in order to get accurate information for small sized fonts. All these methods
925         now have floating-point and integer versions. Whenever an integer variant of these functions
926         is called, lroundf() is used to round the value.
927
928         This makes it possible to support small font-sizes for SVG in a follow-up patch, as well
929         as fixing rounding issues when using SVG Fonts.
930         
931         Shouldn't affect existing tests.
932
933         * GNUmakefile.am: Add FontMetrics.h to build. 
934         * WebCore.gypi: Ditto.
935         * WebCore.pro: Ditto.
936         * WebCore.vcproj/WebCore.vcproj: Ditto.
937         * WebCore.xcodeproj/project.pbxproj: Ditto.
938         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
939         (baselinePositionForAccessibilityRenderObject):
940         * css/CSSPrimitiveValue.cpp:         
941         (WebCore::CSSPrimitiveValue::computeLengthDouble):
942         * html/canvas/CanvasRenderingContext2D.cpp: Ditto.
943         (WebCore::CanvasRenderingContext2D::drawTextInternal):
944         * inspector/InspectorController.cpp: Ditto.
945         (WebCore::InspectorController::drawElementTitle):
946         * platform/chromium/PopupMenuChromium.cpp: Ditto.
947         (WebCore::PopupListBox::paintRow):
948         (WebCore::PopupListBox::getRowHeight):
949         * platform/graphics/Font.h: Remove ascent/descent/height/lineGap/lineSpacing/xHeight/unitsPerEm accessor...
950         (WebCore::Font::fontMetrics): ... and only expose a single FontMetrics object here.
951         * platform/graphics/FontFastPath.cpp: Use fontMetrics() to query metrics information.
952         (WebCore::Font::emphasisMarkAscent):
953         (WebCore::Font::emphasisMarkDescent):
954         (WebCore::Font::emphasisMarkHeight):
955         (WebCore::Font::floatWidthForSimpleText):
956         * platform/graphics/FontMetrics.h: Added.
957         (WebCore::FontMetrics::FontMetrics): Creates a FontMetrics object, stored in SimpleFontData.
958         (WebCore::FontMetrics::unitsPerEm): Returns an unsigned describing the unitsPerEm.
959         (WebCore::FontMetrics::setUnitsPerEm): Sets the unitsPerEm value.
960         (WebCore::FontMetrics::floatAscent): Returns the stored m_ascent float.
961         (WebCore::FontMetrics::setAscent): Sets the stored m_ascent float.
962         (WebCore::FontMetrics::floatDescent): Returns the stored m_descent float.
963         (WebCore::FontMetrics::setDescent): Sets the stored m_descent float.
964         (WebCore::FontMetrics::floatHeight): Returns floatAscent() + floatDescent().
965         (WebCore::FontMetrics::floatLineGap): Returns the stored m_lineGap float.
966         (WebCore::FontMetrics::setLineGap): Sets the stored m_lineGap float.
967         (WebCore::FontMetrics::floatLineSpacing): Returns the stored m_lineSpacing float.
968         (WebCore::FontMetrics::setLineSpacing): Sets the stored m_lineSpacing float.
969         (WebCore::FontMetrics::xHeight): Returns the stored m_xHeight float (no integer version available, hence no 'float' prefix).
970         (WebCore::FontMetrics::setXHeight): Sets the stored m_xHeight float.
971         (WebCore::FontMetrics::ascent): Returns a rounded version of ascent().
972         (WebCore::FontMetrics::descent): Ditto (for descent).
973         (WebCore::FontMetrics::height): Returns ascent() + descent().
974         (WebCore::FontMetrics::lineGap): Returns a rounded version of lineGap().
975         (WebCore::FontMetrics::lineSpacing): Ditto (for lineSpacing).
976         (WebCore::FontMetrics::reset): Nulls all members, used only by the platform variants of SimpleFontData.
977         * platform/graphics/SimpleFontData.cpp: Adapt SVG Fonts code, to initialize the FontMetrics object, as the m_ascent/etc.. members are gone.
978         (WebCore::SimpleFontData::SimpleFontData):
979         (WebCore::SimpleFontData::initCharWidths):
980         * platform/graphics/SimpleFontData.h: Remove ascent/descent/height/lineSpacing/lineGap/xHeight/unitsPerEm accessors, and members, just store a FontMetrics object and expose it.
981         (WebCore::SimpleFontData::fontMetrics):
982         (WebCore::SimpleFontData::avgCharWidth):
983         * platform/graphics/chromium/FontChromiumWin.cpp: Use fontMetrics() to query font metrics.
984         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
985         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
986         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
987         (WebCore::Font::drawComplexText):
988         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Adapt platform code, to initialize the FontMetrics object.
989         (WebCore::SimpleFontData::platformInit):
990         * platform/graphics/chromium/SimpleFontDataLinux.cpp: Ditto.
991         (WebCore::SimpleFontData::platformInit):
992         * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Use fontMetrics() to query font metrics.
993         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
994         (WebCore::UniscribeHelperTextRun::nextWinFontData):
995         * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Adapt platform code, to initialize the FontMetrics object.
996         (WebCore::SimpleFontData::platformInit):
997         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Ditto.
998         (WebCore::SimpleFontData::platformInit):
999         * platform/graphics/mac/FontComplexTextMac.cpp: Use fontMetrics() to query font metrics.
1000         (WebCore::Font::floatWidthForComplexText):
1001         * platform/graphics/mac/FontMac.mm: Ditto.
1002         (WebCore::showGlyphsWithAdvances):
1003         * platform/graphics/mac/SimpleFontDataMac.mm: Adapt platform code, to initialize the FontMetrics object.
1004         (WebCore::SimpleFontData::platformInit):
1005         (WebCore::SimpleFontData::platformCharWidthInit):
1006         * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto.
1007         (WebCore::SimpleFontData::platformInit):
1008         * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto. (+ Switch to QFontMetricsF to get floating-point accurancy.)
1009         (WebCore::SimpleFontData::platformInit):
1010         * platform/graphics/win/FontCGWin.cpp: Use fontMetrics() to query font metrics.
1011         (WebCore::drawGDIGlyphs):
1012         * platform/graphics/win/FontWin.cpp: Ditto.
1013         (WebCore::Font::floatWidthForComplexText):
1014         * platform/graphics/win/SimpleFontDataCGWin.cpp: Adapt platform code, to initialize the FontMetrics object.
1015         (WebCore::SimpleFontData::platformInit):
1016         (WebCore::SimpleFontData::platformBoundsForGlyph):
1017         * platform/graphics/win/SimpleFontDataCairoWin.cpp: Ditto.
1018         (WebCore::SimpleFontData::platformInit):
1019         * platform/graphics/win/SimpleFontDataWin.cpp: Ditto.
1020         (WebCore::SimpleFontData::initGDIFont):
1021         * platform/graphics/wince/GraphicsContextWinCE.cpp: Use fontMetrics() to query font metrics.
1022         (WebCore::GraphicsContext::drawText):
1023         * platform/graphics/wince/SimpleFontDataWinCE.cpp: Adapt platform code, to initialize the FontMetrics object.
1024         (WebCore::SimpleFontData::platformInit):
1025         * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto.
1026         (WebCore::SimpleFontData::platformInit):
1027         * platform/win/PopupMenuWin.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
1028         (WebCore::PopupMenuWin::calculatePositionAndSize): 
1029         (WebCore::PopupMenuWin::paint):
1030         * rendering/EllipsisBox.cpp: Ditto.
1031         (WebCore::EllipsisBox::paint):
1032         (WebCore::EllipsisBox::nodeAtPoint):
1033         * rendering/InlineBox.cpp: Ditto.
1034         (WebCore::InlineBox::logicalHeight):
1035         * rendering/InlineFlowBox.cpp: Ditto.
1036         (WebCore::verticalPositionForBox):
1037         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1038         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1039         * rendering/InlineTextBox.cpp: Ditto.
1040         (WebCore::InlineTextBox::paint):
1041         (WebCore::InlineTextBox::paintDecoration):
1042         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1043         (WebCore::InlineTextBox::paintCompositionUnderline):
1044         * rendering/RenderBlock.cpp: Ditto.
1045         (WebCore::RenderBlock::baselinePosition):
1046         (WebCore::RenderBlock::firstLineBoxBaseline):
1047         (WebCore::RenderBlock::lastLineBoxBaseline):
1048         * rendering/RenderBox.cpp: Ditto.
1049         (WebCore::RenderBox::localCaretRect):
1050         * rendering/RenderEmbeddedObject.cpp: Ditto.
1051         (WebCore::RenderEmbeddedObject::paintReplaced):
1052         * rendering/RenderImage.cpp: Ditto.
1053         (WebCore::RenderImage::setImageSizeForAltText):
1054         (WebCore::RenderImage::paintReplaced):
1055         * rendering/RenderInline.cpp: Ditto.
1056         (WebCore::RenderInline::baselinePosition):
1057         * rendering/RenderListBox.cpp: Ditto.
1058         (WebCore::RenderListBox::paintItemForeground):
1059         (WebCore::RenderListBox::itemHeight):
1060         * rendering/RenderListMarker.cpp: Ditto.
1061         (WebCore::RenderListMarker::paint):
1062         (WebCore::RenderListMarker::layout):
1063         (WebCore::RenderListMarker::computePreferredLogicalWidths):
1064         (WebCore::RenderListMarker::updateMargins):
1065         (WebCore::RenderListMarker::getRelativeMarkerRect):
1066         * rendering/RenderTextControl.cpp: Ditto.
1067         (WebCore::RenderTextControl::paintPlaceholder):
1068         * rendering/RenderTextControlSingleLine.cpp: Ditto.
1069         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
1070         * rendering/RenderThemeWin.cpp: Ditto.
1071         (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
1072         * rendering/mathml/RenderMathMLFraction.cpp: Ditto.
1073         (WebCore::RenderMathMLFraction::baselinePosition):
1074         * rendering/style/RenderStyle.h: Add "const FontMetrics& fontMetrics() const" accessor.
1075         (WebCore::InheritedFlags::fontMetrics):
1076         (WebCore::InheritedFlags::computedLineHeight):
1077         * rendering/svg/RenderSVGInlineText.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
1078         (WebCore::RenderSVGInlineText::positionForPoint):
1079         * rendering/svg/SVGInlineTextBox.cpp: Ditto.
1080         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
1081         (WebCore::positionOffsetForDecoration):
1082         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
1083         (WebCore::SVGInlineTextBox::paintTextWithShadows):
1084         (WebCore::SVGInlineTextBox::calculateBoundaries):
1085         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Ditto.
1086         (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
1087         (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
1088         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
1089         * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Ditto.
1090         (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
1091         * rendering/svg/SVGTextMetrics.cpp: Ditto.
1092         (WebCore::SVGTextMetrics::SVGTextMetrics):
1093         * rendering/svg/SVGTextQuery.cpp: Ditto.
1094         (WebCore::calculateGlyphBoundaries):
1095         * svg/SVGFontFaceElement.cpp: 
1096         (WebCore::SVGFontFaceElement::unitsPerEm): Rename defaultUnitsPerEm global to gDefaultUnitsPerEm.
1097         * svg/SVGLength.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
1098         (WebCore::SVGLength::convertValueFromUserUnitsToEXS):
1099         (WebCore::SVGLength::convertValueFromEXSToUserUnits):
1100
1101 2011-01-22  Ryosuke Niwa  <rniwa@webkit.org>
1102
1103         Reviewed by Eric Seidel.
1104
1105         Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
1106         https://bugs.webkit.org/show_bug.cgi?id=52759
1107
1108         Stopped instantiating legacy editing positions in the following files.
1109
1110         * editing/VisibleSelection.cpp:
1111         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
1112         * editing/visible_units.cpp:
1113         (WebCore::previousBoundary):
1114         (WebCore::previousLinePosition):
1115         (WebCore::nextLinePosition):
1116         (WebCore::startOfBlock):
1117         * page/Frame.cpp:
1118         (WebCore::Frame::visiblePositionForPoint):
1119         * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
1120         * rendering/RenderBlock.h: Ditto.
1121
1122 2011-01-22  Adrienne Walker  <enne@google.com>
1123
1124         Reviewed by James Robinson.
1125
1126         [chromium] Fix compositor repaints for offscreen fixed elements
1127         https://bugs.webkit.org/show_bug.cgi?id=52681
1128
1129         The fast path scrolling was clipping offscreen invalidations.
1130         Additionally, the compositor was ignoring all invalidations that were
1131         entirely out of the content rect.
1132
1133         Test: compositing/ to verify this caused no regressions.
1134         Tested fix manually in browser as I could not generate a LayoutTest that reproduced the bug in run-webkit-tests.
1135
1136         * page/FrameView.cpp:
1137         (WebCore::FrameView::scrollContentsFastPath):
1138         * platform/graphics/chromium/LayerRendererChromium.cpp:
1139         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
1140
1141 2011-01-22  Alexey Proskuryakov  <ap@apple.com>
1142
1143         Reviewed by Dan Bernstein.
1144
1145         https://bugs.webkit.org/show_bug.cgi?id=52951
1146         WebKit2 generates a bad PDF for cross process messaging
1147
1148         * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Use a correct offset to actually
1149         draw inside the requested rectangle.
1150
1151 2011-01-21  Yury Semikhatsky  <yurys@chromium.org>
1152
1153         Reviewed by Adam Barth.
1154
1155         Regression: new window.onerror() implementation leaks cross-origin Javascript errors
1156         https://bugs.webkit.org/show_bug.cgi?id=52903
1157
1158         In case of an exception in a script from different domain only generic message
1159         will be passed to window.onerror hander.
1160
1161         Tests: http/tests/security/cross-origin-script-window-onerror-redirected.html
1162                http/tests/security/cross-origin-script-window-onerror.html
1163
1164         * bindings/js/CachedScriptSourceProvider.h: use URL from the resource response to make sure we do all
1165         cross origin checks agains real script URL, not the original URL which may have resulted in a sequence
1166         of redirects to different domains.
1167         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
1168         * bindings/v8/ScriptSourceCode.h: same for v8.
1169         (WebCore::ScriptSourceCode::url):
1170         * dom/ScriptExecutionContext.cpp:
1171         (WebCore::ScriptExecutionContext::dispatchErrorEvent): in case the error occurred in a script we cannot
1172         access provide concise "Script error." message without any information about the error source. This is
1173         what Firefox does in this case.
1174
1175 2011-01-21  Andreas Kling  <kling@webkit.org>
1176
1177         Reviewed by Kenneth Rohde Christiansen.
1178
1179         [Qt] Always set composition mode through GraphicsContext
1180         https://bugs.webkit.org/show_bug.cgi?id=52940
1181
1182         GraphicsContext tracks the current composition mode so we should
1183         never call through to the QPainter directly.
1184
1185         * platform/graphics/GraphicsContext.h:
1186         * platform/graphics/qt/GraphicsContextQt.cpp:
1187         (WebCore::toQtCompositionMode): Changed this method to a static inline
1188         since it's only used by GraphicsContextQt.cpp now.
1189
1190         * platform/graphics/qt/ImageQt.cpp:
1191         (WebCore::Image::drawPattern):
1192         (WebCore::BitmapImage::draw):
1193
1194 2011-01-21  Dan Bernstein  <mitz@apple.com>
1195
1196         Reviewed by Adele Peterson.
1197
1198         Inconsistent handling of no-break space in justification logic
1199         https://bugs.webkit.org/show_bug.cgi?id=52938
1200
1201         Test: fast/text/justify-nbsp.html
1202
1203         * rendering/RenderBlockLineLayout.cpp:
1204         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Count no-break space as a
1205         space when computing the distribution of space between text boxes on the line.
1206
1207 2011-01-21  Charlie Reis  <creis@chromium.org>
1208
1209         Reviewed by Darin Fisher.
1210
1211         Crash in WebCore::HistoryController::itemsAreClones
1212         https://bugs.webkit.org/show_bug.cgi?id=52819
1213
1214         Adds sanity checks to help diagnose the crash.
1215
1216         * loader/HistoryController.cpp:
1217
1218 2011-01-21  Andreas Kling  <kling@webkit.org>
1219
1220         Reviewed by Ariya Hidayat.
1221
1222         [Qt] Let QPainter decide whether a composition mode is supported or not
1223
1224         Lacking Porter-Duff support in the paint engine shouldn't exclude the
1225         Source and Source-Over modes (and has nothing to do with the blend
1226         and raster-op modes.)
1227
1228         Delegate this decision to QPainter instead (this will cause warnings
1229         if an unsupported mode is used, but that's a good thing.)
1230
1231         * platform/graphics/qt/GraphicsContextQt.cpp:
1232         (WebCore::GraphicsContext::clearRect):
1233         (WebCore::GraphicsContext::setPlatformCompositeOperation):
1234         * platform/graphics/qt/TransparencyLayer.h:
1235         (WebCore::TransparencyLayer::TransparencyLayer):
1236
1237 2011-01-21  Chris Rogers  <crogers@google.com>
1238
1239         Reviewed by Kenneth Russell.
1240
1241         fix audio build: header file should be "Noncopyable.h" and not "NonCopyable.h"
1242         https://bugs.webkit.org/show_bug.cgi?id=52933
1243
1244         No new tests since this just fixes the build
1245
1246         * webaudio/RealtimeAnalyser.h:
1247
1248 2011-01-21  Chris Rogers  <crogers@google.com>
1249
1250         Reviewed by Kenneth Russell.
1251
1252         Fix audio build: change ChromiumBridge to PlatformBridge
1253         https://bugs.webkit.org/show_bug.cgi?id=52928
1254
1255         No new tests since audio API is not yet implemented.
1256
1257         * platform/audio/chromium/AudioBusChromium.cpp:
1258         (WebCore::AudioBus::loadPlatformResource):
1259
1260 2011-01-21  Chris Rogers  <crogers@google.com>
1261
1262         Reviewed by Kenneth Russell.
1263
1264         Add FFTFrameStub to avoid link errors during bringup on platforms without an FFT implementation
1265         https://bugs.webkit.org/show_bug.cgi?id=52922
1266
1267         No new tests since audio API is not yet implemented.
1268
1269         * WebCore.gypi:
1270         * platform/audio/FFTFrameStub.cpp: Added.
1271         (WebCore::FFTFrame::FFTFrame):
1272         (WebCore::FFTFrame::~FFTFrame):
1273         (WebCore::FFTFrame::multiply):
1274         (WebCore::FFTFrame::doFFT):
1275         (WebCore::FFTFrame::doInverseFFT):
1276         (WebCore::FFTFrame::cleanup):
1277         (WebCore::FFTFrame::realData):
1278         (WebCore::FFTFrame::imagData):
1279
1280 2011-01-21  Tony Chang  <tony@chromium.org>
1281
1282         Reviewed by Sam Weinig.
1283
1284         reduce number of FrameLoaderClient::didChangeScrollOffset calls
1285         https://bugs.webkit.org/show_bug.cgi?id=52915
1286
1287         Only notify of changes in scroll offset when there actually is a change.
1288         This regressed in r76291.
1289
1290         Covered by Chromium browser_tests.
1291
1292         * platform/ScrollAnimator.cpp:
1293         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
1294
1295 2011-01-21  Pavel Feldman  <pfeldman@chromium.org>
1296
1297         Reviewed by Yury Semikhatsky.
1298
1299         Web Inspector: ~InspectorResourceAgent crashes on closing inspected page.
1300         https://bugs.webkit.org/show_bug.cgi?id=52900
1301
1302         * inspector/InspectorController.cpp:
1303         (WebCore::InspectorController::~InspectorController):
1304         (WebCore::InspectorController::inspectedPageDestroyed):
1305
1306 2011-01-21  Chris Rogers  <crogers@google.com>
1307
1308         Reviewed by Darin Fisher.
1309
1310         Add run-time enable support for the web audio API
1311         https://bugs.webkit.org/show_bug.cgi?id=52741
1312
1313         No new tests since audio API is not yet implemented.
1314
1315         * WebCore.exp.in:
1316         * bindings/generic/RuntimeEnabledFeatures.cpp:
1317         * bindings/generic/RuntimeEnabledFeatures.h:
1318         (WebCore::RuntimeEnabledFeatures::setWebkitAudioContextEnabled):
1319         (WebCore::RuntimeEnabledFeatures::webkitAudioContextEnabled):
1320         * page/DOMWindow.idl:
1321         * page/Settings.cpp:
1322         (WebCore::Settings::Settings):
1323         (WebCore::Settings::setWebAudioEnabled):
1324         * page/Settings.h:
1325         (WebCore::Settings::webAudioEnabled):
1326
1327 2011-01-21  Martin Robinson  <mrobinson@igalia.com>
1328
1329         Reviewed by Xan Lopez.
1330
1331         [GTK] Menulist text often collides with separator
1332         https://bugs.webkit.org/show_bug.cgi?id=51155
1333
1334         Move menulist rendering to RenderThemeGtk and correct padding code
1335         for separators in menulists.
1336
1337         * platform/gtk/RenderThemeGtk.cpp:
1338         (WebCore::RenderThemeGtk::RenderThemeGtk): Initialize new widget members.
1339         (WebCore::RenderThemeGtk::getComboBoxSeparatorWidth): Added.
1340         (WebCore::RenderThemeGtk::comboBoxArrowSize): Added.
1341         (WebCore::getButtonInnerBorder): Added.
1342         (WebCore::RenderThemeGtk::getComboBoxPadding): Do this manually instead of using
1343         Mozilla code.
1344         (WebCore::RenderThemeGtk::paintMenuList): Ditto.
1345         (WebCore::setupWidget): Abstracted this part of the setupWidgetAndAddToContainer
1346         out to handle child widgets of comboboxes.
1347         (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Abstracted out setupWidget.
1348         (WebCore::RenderThemeGtk::gtkContainer): Added.
1349         (WebCore::getGtkComboBoxButton): Added.
1350         (WebCore::getGtkComboBoxPieces): Added.
1351         (WebCore::RenderThemeGtk::gtkComboBox): Call setupWidget here.
1352         (WebCore::RenderThemeGtk::refreshComboBoxChildren): Added.
1353         (WebCore::RenderThemeGtk::gtkComboBoxButton): Added.
1354         (WebCore::RenderThemeGtk::gtkComboBoxArrow): Added.
1355         (WebCore::RenderThemeGtk::gtkComboBoxSeparator): Added.
1356         * platform/gtk/RenderThemeGtk.h: Added new members and methods.
1357         * platform/gtk/WidgetRenderingContext.h: Added new members and methods.
1358         * platform/gtk/WidgetRenderingContextGtk2.cpp:
1359         (WebCore::WidgetRenderingContext::gtkPaintArrow):
1360         (WebCore::WidgetRenderingContext::gtkPaintVLine):
1361         * platform/gtk/WidgetRenderingContextGtk3.cpp:
1362         (WebCore::WidgetRenderingContext::gtkPaintArrow):
1363         (WebCore::WidgetRenderingContext::gtkPaintVLine):
1364         * platform/gtk/gtk2drawing.c: Removed code for drawing menulists and buttons.
1365         (moz_gtk_init):
1366         (moz_gtk_get_widget_border):
1367         (moz_gtk_widget_paint):
1368         * platform/gtk/gtk3drawing.c:
1369         (moz_gtk_init):
1370         (moz_gtk_get_widget_border):
1371         (moz_gtk_widget_paint):
1372         * platform/gtk/gtkdrawing.h:
1373
1374 2011-01-21  Sam Weinig  <sam@webkit.org>
1375
1376         Fix chromium mac build.
1377
1378         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1379         (WebCore::scrollbarStateToThemeState):
1380         (WebCore::ScrollbarThemeChromiumMac::paint):
1381
1382 2011-01-21  Sam Weinig  <sam@webkit.org>
1383
1384         Fix the windows build.
1385
1386         * platform/ScrollbarThemeComposite.cpp:
1387         (WebCore::ScrollbarThemeComposite::paint):
1388
1389 2011-01-21  Chris Rogers  <crogers@google.com>
1390
1391         Reviewed by Kenneth Russell.
1392
1393         Add chromium bundled audio spatialization resources to WebAudio.grd
1394         https://bugs.webkit.org/show_bug.cgi?id=52651
1395
1396         No new tests since audio API is not yet implemented.
1397
1398         * WebCore.gyp/WebCore.gyp:
1399         * platform/audio/chromium/AudioBusChromium.cpp:
1400         (WebCore::AudioBus::loadPlatformResource):
1401
1402 2011-01-21  Xiyuan Xia  <xiyuan@chromium.org>
1403
1404         Reviewed by Tony Chang.
1405
1406         Use WebThemeEngine for relevant RenderTheme parts for chromium/linux.
1407         https://bugs.webkit.org/show_bug.cgi?id=52826
1408
1409         * platform/chromium/ChromiumBridge.h:
1410         * rendering/RenderThemeChromiumLinux.cpp:
1411         (WebCore::getWebThemeState):
1412         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
1413         (WebCore::RenderThemeChromiumLinux::paintCheckbox):
1414         (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
1415         (WebCore::RenderThemeChromiumLinux::paintRadio):
1416         (WebCore::RenderThemeChromiumLinux::setRadioSize):
1417         (WebCore::RenderThemeChromiumLinux::paintButton):
1418         (WebCore::RenderThemeChromiumLinux::paintTextField):
1419         (WebCore::RenderThemeChromiumLinux::paintMenuList):
1420         (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
1421         (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
1422         (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
1423         (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
1424         (WebCore::RenderThemeChromiumLinux::paintProgressBar):
1425         * rendering/RenderThemeChromiumLinux.h:
1426         * rendering/RenderThemeChromiumSkia.cpp:
1427         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
1428         (WebCore::RenderThemeChromiumSkia::setSizeIfAuto):
1429         (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
1430         * rendering/RenderThemeChromiumSkia.h:
1431
1432 2011-01-21  Sam Weinig  <sam@webkit.org>
1433
1434         Reviewed by Anders Carlsson.
1435
1436         Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
1437         https://bugs.webkit.org/show_bug.cgi?id=52779
1438
1439         Rename ScrollbarClient -> ScrollableArea.
1440
1441         - Also replaces Scrollbar::setClient with Scrollbar::disconnectFromScrollableArea
1442           since that was its only use case.
1443
1444         * CMakeLists.txt:
1445         * GNUmakefile.am:
1446         * WebCore.gypi:
1447         * WebCore.pro:
1448         * WebCore.vcproj/WebCore.vcproj:
1449         * WebCore.xcodeproj/project.pbxproj:
1450         * accessibility/AccessibilityScrollbar.cpp:
1451         (WebCore::AccessibilityScrollbar::setValue):
1452         * css/CSSStyleSelector.cpp:
1453         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1454         * page/FrameView.h:
1455         * platform/PopupMenuClient.h:
1456         * platform/ScrollAnimator.cpp:
1457         (WebCore::ScrollAnimator::create):
1458         (WebCore::ScrollAnimator::ScrollAnimator):
1459         (WebCore::ScrollAnimator::scroll):
1460         (WebCore::ScrollAnimator::notityPositionChanged):
1461         * platform/ScrollAnimator.h:
1462         * platform/ScrollAnimatorWin.cpp:
1463         (WebCore::ScrollAnimator::create):
1464         (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
1465         (WebCore::ScrollAnimatorWin::scroll):
1466         * platform/ScrollAnimatorWin.h:
1467         * platform/ScrollView.cpp:
1468         (WebCore::ScrollView::scroll):
1469         (WebCore::ScrollView::updateScrollbars):
1470         (WebCore::ScrollView::wheelEvent):
1471         * platform/ScrollView.h:
1472         * platform/ScrollableArea.cpp: Copied from WebCore/platform/ScrollbarClient.cpp.
1473         (WebCore::ScrollableArea::ScrollableArea):
1474         (WebCore::ScrollableArea::~ScrollableArea):
1475         (WebCore::ScrollableArea::scroll):
1476         (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
1477         (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation):
1478         (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation):
1479         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
1480         * platform/ScrollableArea.h: Copied from WebCore/platform/ScrollbarClient.h.
1481         * platform/Scrollbar.cpp:
1482         (WebCore::Scrollbar::createNativeScrollbar):
1483         (WebCore::Scrollbar::Scrollbar):
1484         (WebCore::Scrollbar::offsetDidChange):
1485         (WebCore::Scrollbar::autoscrollPressedPart):
1486         (WebCore::Scrollbar::moveThumb):
1487         (WebCore::Scrollbar::mouseMoved):
1488         (WebCore::Scrollbar::isWindowActive):
1489         (WebCore::Scrollbar::invalidateRect):
1490         (WebCore::Scrollbar::convertToContainingView):
1491         (WebCore::Scrollbar::convertFromContainingView):
1492         * platform/Scrollbar.h:
1493         (WebCore::Scrollbar::disconnectFromScrollableArea):
1494         (WebCore::Scrollbar::scrollableArea):
1495         * platform/ScrollbarClient.cpp: Removed.
1496         * platform/ScrollbarClient.h: Removed.
1497         * platform/ScrollbarThemeComposite.cpp:
1498         * platform/chromium/FramelessScrollView.h:
1499         * platform/chromium/ScrollbarThemeChromium.cpp:
1500         (WebCore::ScrollbarThemeChromium::paintTickmarks):
1501         * platform/efl/ScrollbarEfl.cpp:
1502         (Scrollbar::createNativeScrollbar):
1503         (ScrollbarEfl::ScrollbarEfl):
1504         (scrollbarEflEdjeMessage):
1505         * platform/efl/ScrollbarEfl.h:
1506         * platform/gtk/MainFrameScrollbarGtk.cpp:
1507         (MainFrameScrollbarGtk::create):
1508         (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
1509         (MainFrameScrollbarGtk::gtkValueChanged):
1510         * platform/gtk/MainFrameScrollbarGtk.h:
1511         * platform/mac/ScrollAnimatorMac.h:
1512         * platform/mac/ScrollAnimatorMac.mm:
1513         (WebCore::ScrollAnimator::create):
1514         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1515         (WebCore::ScrollAnimatorMac::scroll):
1516         * platform/mac/ScrollbarThemeMac.mm:
1517         (WebCore::ScrollbarThemeMac::paint):
1518         * platform/qt/ScrollbarQt.cpp:
1519         (WebCore::Scrollbar::contextMenu):
1520         * platform/win/PopupMenuWin.cpp:
1521         (WebCore::PopupMenuWin::scrollToRevealSelection):
1522         (WebCore::PopupMenuWin::wndProc):
1523         * platform/win/PopupMenuWin.h:
1524         * platform/win/ScrollbarThemeSafari.cpp:
1525         (WebCore::ScrollbarThemeSafari::paintTrackBackground):
1526         (WebCore::ScrollbarThemeSafari::paintButton):
1527         (WebCore::ScrollbarThemeSafari::paintThumb):
1528         * platform/wx/ScrollbarThemeWx.cpp:
1529         (WebCore::ScrollbarThemeWx::paint):
1530         * rendering/RenderDataGrid.h:
1531         * rendering/RenderLayer.cpp:
1532         (WebCore::RenderLayer::scrollToOffset):
1533         (WebCore::RenderLayer::destroyScrollbar):
1534         (WebCore::RenderLayer::scroll):
1535         * rendering/RenderLayer.h:
1536         * rendering/RenderListBox.cpp:
1537         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
1538         (WebCore::RenderListBox::scroll):
1539         (WebCore::RenderListBox::logicalScroll):
1540         (WebCore::RenderListBox::setScrollTop):
1541         (WebCore::RenderListBox::destroyScrollbar):
1542         * rendering/RenderListBox.h:
1543         * rendering/RenderMenuList.cpp:
1544         (WebCore::RenderMenuList::createScrollbar):
1545         * rendering/RenderMenuList.h:
1546         * rendering/RenderScrollbar.cpp:
1547         (WebCore::RenderScrollbar::createCustomScrollbar):
1548         (WebCore::RenderScrollbar::RenderScrollbar):
1549         * rendering/RenderScrollbar.h:
1550         * rendering/RenderTextControlSingleLine.cpp:
1551         (WebCore::RenderTextControlSingleLine::createScrollbar):
1552         * rendering/RenderTextControlSingleLine.h:
1553
1554 2011-01-21  Darin Adler  <darin@apple.com>
1555
1556         Fix Leopard build.
1557
1558         * rendering/mathml/RenderMathMLFraction.cpp:
1559         (WebCore::RenderMathMLFraction::layout): Use ceilf instead of ceil.
1560
1561 2011-01-21  Anton Muhin  <antonm@chromium.org>
1562
1563         Reviewed by Nate Chapin.
1564
1565         [v8] Properly deal with the case when conversion to string throws an exception for HTMLCollection accessors
1566         https://bugs.webkit.org/show_bug.cgi?id=52901
1567
1568         Test: fast/dom/htmlcollection-conversion-throws-exception.html
1569
1570         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1571         (WebCore::getItem):
1572
1573 2011-01-21  Adam Roben  <aroben@apple.com>
1574
1575         Separate flushing layer changes from rendering in CACFLayerTreeHost
1576
1577         Old model:
1578           1) A change is made to a GraphicsLayer.
1579           2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which schedules the
1580              render timer.
1581           3) The timer fires, which calls through to CACFLayerTreeHost::render, which performs the
1582              flush and then renders.
1583
1584         New model:
1585           1) A change is made to a GraphicsLayer.
1586           2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which tells the new
1587              LayerChangesFlusher singleton that this host has changes that need to be flushed.
1588           3) LayerChangesFlusher sets up a Windows hook that will get called on the next iteration
1589              of the message loop.
1590           4) LayerChangesFlusher's hook is called, which calls through to
1591              CACFLayerTreeHost::flushPendingLayerChangesNow.
1592           5) CACFLayerTreeHost::flushPendingLayerChangesNow schedules the render timer so the changes
1593              that were just flushed to the context will be rendered.
1594
1595         When a change is made to a PlatformCALayer that doesn't have a corresponding GraphicsLayer
1596         (e.g., for rendering <video>), CACFLayerTreeHost::layerTreeDidChange takes care of
1597         scheduling the flush.
1598
1599         This change has three advantages:
1600           1) Whenever we flush layer changes, we first update layout. This can cause the page to
1601              leave compositing mode, which in turn can cause all references to the CACFLayerTreeHost
1602              to be dropped. By separating flushing (and thus updating layout) from rendering, we no
1603              longer have to worry about this happen during rendering.
1604           2) The new model is much more similar to how things work on the Mac, so will hopefully
1605              reduce the number of platform-specific bugs.
1606           3) CACFLayerTreeHost::shouldRender, which was used to make sure we didn't render while a
1607              layout was pending, is no longer needed. It actually hasn't been needed since at least
1608              r75987, but removing it before now would have resulted in a crash whenever a page came
1609              out of compositing mode due to (1).
1610
1611         Fixes <http://webkit.org/b/52852> Flushing layer changes and rendering are intertwined in
1612         CACFLayerTreeHost, but shouldn't be
1613
1614         Reviewed by Simon Fraser.
1615
1616         * WebCore.vcproj/WebCore.vcproj: Added LayerChangesFlusher.
1617
1618         * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include, sorted existing
1619         #includes.
1620         (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
1621         (WebCore::CACFLayerTreeHost::layerTreeDidChange): If we aren't already flushing changes,
1622         schedule a flush. Removed the call to renderSoon(), which now happens when the flush is
1623         finished.
1624         (WebCore::CACFLayerTreeHost::destroyRenderer): Cancel any pending flush we had scheduled. Also
1625         fixed a bug where we'd fail to clear the context's layer.
1626         (WebCore::CACFLayerTreeHost::render): Removed code to ask the client if we should render, which
1627         is no longer needed. Moved code to flush layer changes from here to
1628         flushPendingLayerChangesNow, which is called via the above-described mechanism.
1629         (WebCore::CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon): Schedule a flush. Removed
1630         code to schedule a render, which now happens after we've flushed.
1631         (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added. Some of this code came from
1632         render(). First we flush GraphicsLayer changes from GraphicsLayers to their underlying
1633         PlatformCALayers, then we flush changes from PlatformCALayers to the context, then we
1634         schedule a render so that the changes will be rendered to the screen.
1635
1636         * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed
1637         CACFLayerTreeHostClient::shouldRender. Added flushPendingLayerChangesNow and
1638         m_isFlushingLayerChanges.
1639
1640         * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
1641         (WebCore::LayerChangesFlusher::shared):
1642         (WebCore::LayerChangesFlusher::LayerChangesFlusher):
1643         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
1644         (WebCore::LayerChangesFlusher::cancelPendingFlush):
1645         (WebCore::LayerChangesFlusher::hookCallback):
1646         (WebCore::LayerChangesFlusher::hookFired):
1647         (WebCore::LayerChangesFlusher::setHook):
1648         (WebCore::LayerChangesFlusher::removeHook):
1649
1650         * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
1651         (WebCore::LayerChangesFlusher::shared): Returns the singleton.
1652         (WebCore::LayerChangesFlusher::LayerChangesFlusher): Initialize our members.
1653         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): Add the host to the set of
1654         hosts with changes that need to be flushed, and set up our hook if we haven't already.
1655         (WebCore::LayerChangesFlusher::cancelPendingFlush): Remove the host from the set of hosts
1656         with changes that need to be flushed. If we have no more such hosts, remove our hook, unless
1657         we're currently in the process of calling out to our hosts, in which case we'll take care of
1658         the hook once we're done calling out.
1659         (WebCore::LayerChangesFlusher::hookCallback): This is the function that Windows calls when
1660         our hook fires. Just calls through to hookFired on the singleton.
1661         (WebCore::LayerChangesFlusher::hookFired): Tell all the hosts with changes that needed to be
1662         flushed that it's time to flush. If no hosts re-added themselves to our set during this
1663         process, remove our hook.
1664         (WebCore::LayerChangesFlusher::setHook): Calls through to ::SetWindowsHookExW.
1665         (WebCore::LayerChangesFlusher::removeHook): Calls through to ::UnhookWindowsHookEx.
1666
1667         * platform/graphics/ca/win/LayerChangesFlusher.h: Added.
1668
1669 2011-01-21  Simon Fraser  <simon.fraser@apple.com>
1670
1671         Reviewed by Sam Weinig.
1672
1673         GraphicsLayer should be non-copyable
1674         https://bugs.webkit.org/show_bug.cgi?id=52909
1675
1676         Use WTF_MAKE_NONCOPYABLE on GraphicsLayer, and WTF_MAKE_FAST_ALLOCATED
1677         on that and KeyframeValueList.
1678         
1679         * platform/graphics/GraphicsLayer.h:
1680
1681 2011-01-21  Simon Fraser  <simon.fraser@apple.com>
1682
1683         Reviewed by Sam Weinig.
1684
1685         Report the sized used by canvases and types arrays
1686         https://bugs.webkit.org/show_bug.cgi?id=52856
1687
1688         Report the memory cost associated with canvas elements,
1689         and typed arrays to JavaScript as extraCost, so that it
1690         can figure this into its GC behavior.
1691
1692         * bindings/js/JSArrayBufferViewHelper.h:
1693         (WebCore::toJSArrayBufferView): New templatized function, similar
1694         to getDOMObjectWrapper() but calls reportExtraMemoryCost() with
1695         the byteLength of the array.
1696         
1697         * bindings/js/JSFloat32ArrayCustom.cpp:
1698         (WebCore::toJS): Use toJSArrayBufferView.
1699         * bindings/js/JSInt16ArrayCustom.cpp:
1700         (WebCore::toJS): Use toJSArrayBufferView.
1701         * bindings/js/JSInt32ArrayCustom.cpp:
1702         (WebCore::toJS): Use toJSArrayBufferView.
1703         * bindings/js/JSInt8ArrayCustom.cpp:
1704         (WebCore::toJS): Use toJSArrayBufferView.
1705         * bindings/js/JSUint16ArrayCustom.cpp:
1706         (WebCore::toJS): Use toJSArrayBufferView.
1707         * bindings/js/JSUint32ArrayCustom.cpp:
1708         (WebCore::toJS): Use toJSArrayBufferView.
1709         * bindings/js/JSUint8ArrayCustom.cpp:
1710         (WebCore::toJS): Use toJSArrayBufferView.
1711
1712         * html/HTMLCanvasElement.cpp:
1713         (WebCore::HTMLCanvasElement::createImageBuffer): Call heap.reportExtraMemoryCost()
1714         with the size of the canvas backing store.
1715         
1716         * html/canvas/TypedArrayBase.h:
1717         (WebCore::TypedArrayBase::byteLength): byteLength needs to
1718         be public.
1719         
1720         * platform/graphics/ImageBuffer.h: Add dataSize() method.
1721         
1722         * platform/graphics/cairo/ImageBufferCairo.cpp:
1723         (WebCore::ImageBuffer::dataSize): Implement dataSize().
1724         * platform/graphics/cg/ImageBufferCG.cpp:
1725         (WebCore::ImageBuffer::dataSize): Implement dataSize().
1726         * platform/graphics/haiku/ImageBufferHaiku.cpp:
1727         (WebCore::ImageBuffer::dataSize): Implement dataSize().
1728         * platform/graphics/qt/ImageBufferQt.cpp:
1729         (WebCore::ImageBuffer::dataSize): Implement dataSize().
1730         * platform/graphics/skia/ImageBufferSkia.cpp:
1731         (WebCore::ImageBuffer::dataSize): Implement dataSize().
1732         * platform/graphics/wince/ImageBufferWinCE.cpp:
1733         (WebCore::ImageBuffer::dataSize): Implement dataSize().
1734         * platform/graphics/wx/ImageBufferWx.cpp:
1735         (WebCore::ImageBuffer::dataSize): Implement dataSize().
1736
1737 2011-01-21  Adam Roben  <aroben@apple.com>
1738
1739         Rename WKCACFLayerRenderer[Client] to CACFLayerTreeHost[Client]
1740
1741         Also renamed a few functions and data members to match.
1742
1743         Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't
1744
1745         Reviewed by Simon Fraser.
1746
1747         * WebCore.vcproj/WebCore.vcproj: Updated files' names and paths.
1748
1749         * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added platform/graphics/ca/win to the include
1750         path.
1751
1752         * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from platform/graphics/ca/win, too.
1753
1754         * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp.
1755         * platform/graphics/ca/win/CACFLayerTreeHost.h: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h.
1756
1757         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1758         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
1759         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
1760         Updated for renames.
1761
1762 2011-01-21  Patrick Gansterer  <paroga@paroga.com>
1763
1764         Original patch from François Sausset  <sausset@gmail.com>
1765
1766         Reviewed by Darin Adler.
1767
1768         Code cleaning in rendering/mathml/RenderMathMLFraction.cpp
1769         https://bugs.webkit.org/show_bug.cgi?id=52201
1770
1771         Replace unneeded doubles by floats and remove unneeded casts.
1772
1773         * rendering/mathml/RenderMathMLFraction.cpp:
1774         (WebCore::RenderMathMLFraction::paint):
1775         * rendering/mathml/RenderMathMLFraction.h:
1776
1777 2011-01-21  Dimitri Glazkov  <dglazkov@chromium.org>
1778
1779         Reviewed by Darin Adler.
1780
1781         REGRESSION(r73618): Clicking on a search input causes a crash.
1782         https://bugs.webkit.org/show_bug.cgi?id=52905
1783
1784         The problem is caused by TextControlInnerElement being used both as
1785         shadow root and an element in a shadow subtree. The code assumed it is
1786         only used as a shadow root.
1787
1788         Since this code is all just workaround for in-progress conversion to
1789         new shadow DOM, I am just adding a check. This code will disappear
1790         completely once bug 52788 is fixed.
1791
1792         Test: fast/dom/search-shadow-host-crash.html
1793
1794         * dom/Node.cpp:
1795         (WebCore::Node::setShadowHost): Added an ASSERT for early detection
1796             of attempting to stomp on the parentNode.
1797         * rendering/TextControlInnerElements.cpp:
1798         (WebCore::TextControlInnerElement::detach): Added a check to only
1799             clear shadow host if we have one.
1800
1801 2011-01-21  Adam Roben  <aroben@apple.com>
1802
1803         Replace some "sync compositing state" terminology with "flush pending GraphicsLayer changes"
1804
1805         This seems to be the direction in which our code is moving. I chose "GraphicsLayer" as
1806         opposed to just "layer" because there are cases where we flush changes to CACFLayers that
1807         don't have a corresponding GraphicsLayer.
1808
1809         Fixes <http://webkit.org/b/52894> "Sync compositing state" terminology in
1810         WKCACFLayerRenderer and friends is confusing
1811
1812         Reviewed by Simon Fraser.
1813
1814         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1815         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
1816         (WebCore::WKCACFLayerRenderer::render):
1817         Updated for renames.
1818
1819         (WebCore::WKCACFLayerRenderer::flushPendingGraphicsLayerChangesSoon): Renamed from
1820         syncCompositingStateSoon, and updated for other renames.
1821
1822         * platform/graphics/win/WKCACFLayerRenderer.h: Renamed m_syncLayerChanges to
1823         * m_shouldFlushPendingGraphicsLayerChanges.
1824         (WebCore::WKCACFLayerRendererClient::flushPendingGraphicsLayerChanges): Renamed from
1825         syncCompositingState.
1826
1827 2011-01-21  Adam Roben  <aroben@apple.com>
1828
1829         Clean up PlatformCAAnimationWin
1830
1831         Fixes <http://webkit.org/b/52904> PlatformCAAnimationWin is leaky and inefficient
1832
1833         Reviewed by Simon Fraser.
1834
1835         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1836         (toCACFFillModeType):
1837         (fromCACFFillModeType):
1838         (toCACFValueFunctionType):
1839         (fromCACFValueFunctionType):
1840         Changed to take and return CFStringRefs. There's no need to convert to WebCore::String just
1841         so we can later convert back to CFStringRef.
1842
1843         (toCACFTimingFunction): Fixed leaks by changing this to return a RetainPtr and adopting the
1844         results of CACFTimingFunctionCreate.
1845         (PlatformCAAnimation::PlatformCAAnimation): Changed not to needlessly roundtrip through
1846         WebCore::String. Also changed an ASSERT(0) to ASSERT_NOT_REACHED().
1847
1848         (PlatformCAAnimation::setFillMode):
1849         (PlatformCAAnimation::setTimingFunction):
1850         (PlatformCAAnimation::setValueFunction):
1851         (PlatformCAAnimation::setTimingFunctions):
1852         Updated for changes to the above conversion functions.
1853
1854 2011-01-21  Charlie Reis  <creis@chromium.org>
1855
1856         Reviewed by Darin Fisher.
1857
1858         FrameLoader::checkLoadCompleteForThisFrame uses wrong history item
1859         https://bugs.webkit.org/show_bug.cgi?id=48812
1860
1861         Most calls to stopAllLoaders now clear the history's provisional item(s).
1862         We can now avoid resetting the back/forward state if a new navigation
1863         is in progress.
1864
1865         Test: http/tests/navigation/back-twice-without-commit.html
1866         Test: http/tests/navigation/forward-and-cancel.html
1867
1868         * loader/FrameLoader.cpp:
1869         * loader/FrameLoader.h:
1870         * loader/FrameLoaderTypes.h:
1871         * WebCore.exp.in: Update stopAllLoaders signature.
1872
1873 2011-01-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1874
1875         Reviewed by Martin Robinson.
1876
1877         [GTK] Show caps lock indicator in password fields
1878         https://bugs.webkit.org/show_bug.cgi?id=52878
1879
1880         Test: manual-tests/password-caps-lock.html
1881
1882         * platform/gtk/KeyEventGtk.cpp:
1883         (WebCore::PlatformKeyboardEvent::currentCapsLockState): Implement
1884         currentCapsLockState() using GDK API.
1885         * platform/gtk/RenderThemeGtk.cpp:
1886         (WebCore::RenderThemeGtk::paintCapsLockIndicator): Paint an icon
1887         in the password field when the caps lock modifier is locked.
1888         * platform/gtk/RenderThemeGtk.h:
1889
1890 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
1891
1892         Reviewed by Pavel Feldman.
1893
1894         Web Inspector: move sticky breakpoints management from InspectorController to InspectorBrowserDebuggerAgent.
1895         https://bugs.webkit.org/show_bug.cgi?id=52874
1896
1897         This is the first step of debugger api refactoring (see bug 52879).
1898         JavaScript breakpoints are still in the same list as native breakpoints and are restored by InspectorBrowserDebuggerAgent.
1899         The second step will be to move sticky JavaScript breakpoints to InspectorDebuggerAgent.
1900
1901         * inspector/Inspector.idl:
1902         * inspector/InspectorBrowserDebuggerAgent.cpp:
1903         (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
1904         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
1905         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
1906         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
1907         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
1908         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
1909         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1910         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1911         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1912         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
1913         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
1914         * inspector/InspectorBrowserDebuggerAgent.h:
1915         * inspector/InspectorController.cpp:
1916         (WebCore::InspectorController::restoreInspectorStateFromCookie):
1917         (WebCore::InspectorController::connectFrontend):
1918         (WebCore::InspectorController::didCommitLoad):
1919         (WebCore::InspectorController::enableDebugger):
1920         (WebCore::InspectorController::resume):
1921         (WebCore::InspectorController::inspectedURL):
1922         * inspector/InspectorController.h:
1923         * inspector/InspectorState.cpp:
1924         (WebCore::InspectorState::InspectorState):
1925         * inspector/InspectorState.h:
1926         * inspector/front-end/BreakpointManager.js:
1927         (WebInspector.BreakpointManager):
1928         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
1929
1930 2011-01-21  John Knottenbelt  <jknotten@chromium.org>
1931
1932         Reviewed by Jeremy Orlow.
1933
1934         Turn off uninitialized errors for ARM linux build.
1935         https://bugs.webkit.org/show_bug.cgi?id=52893
1936
1937         Fix ARM compiler breakage.
1938
1939         * WebCore.gyp/WebCore.gyp:
1940
1941 2011-01-21  Mikhail Naganov  <mnaganov@chromium.org>
1942
1943         Reviewed by Yury Semikhatsky.
1944
1945         Web Inspector: [Chromium] REGRESSION: Using the "Back" button
1946         while profiling causes renderer crash.
1947
1948         https://bugs.webkit.org/show_bug.cgi?id=52808
1949
1950         * inspector/InspectorProfilerAgent.cpp:
1951         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
1952         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
1953
1954 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
1955
1956         Reviewed by Pavel Feldman.
1957
1958         Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
1959
1960         There are some places in WebCore where we still using direct InspectorController calls.
1961         The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
1962         Inspector facade for WebCore.
1963
1964         https://bugs.webkit.org/show_bug.cgi?id=52869
1965
1966         * inspector/InspectorController.cpp:
1967         * inspector/InspectorController.h:
1968         * inspector/InspectorInstrumentation.cpp:
1969         (WebCore::InspectorInstrumentation::addProfileImpl):
1970         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
1971         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
1972         * inspector/InspectorInstrumentation.h:
1973         (WebCore::InspectorInstrumentation::addProfile):
1974         (WebCore::InspectorInstrumentation::profilerEnabled):
1975         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
1976         * page/Console.cpp:
1977         (WebCore::Console::profile):
1978         (WebCore::Console::profileEnd):
1979
1980 2011-01-12  Pavel Podivilov  <podivilov@chromium.org>
1981
1982         Reviewed by Pavel Feldman.
1983
1984         Web Inspector: breakpoints are restored incorrectly when reverting live edit.
1985         https://bugs.webkit.org/show_bug.cgi?id=52300
1986
1987         Fix breakpoints restoring when reverting to old revision by using text diff.
1988         Move live edit logic from ScriptsPanel to DebuggerModel.
1989         Eliminate unnecessary editLine delegate in TextViewer.
1990
1991         * inspector/front-end/DebuggerModel.js:
1992         (WebInspector.DebuggerModel):
1993         (WebInspector.DebuggerModel.prototype.reset):
1994         (WebInspector.DebuggerModel.prototype.editScriptSource):
1995         (WebInspector.DebuggerModel.prototype._updateScriptSource):
1996         (WebInspector.DebuggerModel.prototype.get callFrames):
1997         (WebInspector.DebuggerModel.prototype.pausedScript):
1998         (WebInspector.DebuggerModel.prototype.resumedScript):
1999         * inspector/front-end/Script.js:
2000         (WebInspector.Script.prototype.get source):
2001         * inspector/front-end/ScriptView.js:
2002         (WebInspector.ScriptView):
2003         * inspector/front-end/ScriptsPanel.js:
2004         (WebInspector.ScriptsPanel):
2005         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
2006         * inspector/front-end/SourceFrame.js:
2007         (WebInspector.SourceFrame):
2008         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
2009         (WebInspector.SourceFrame.prototype._doubleClick.didEditLine):
2010         (WebInspector.SourceFrame.prototype._doubleClick):
2011         * inspector/front-end/SourceView.js:
2012         (WebInspector.SourceView):
2013         * inspector/front-end/TextViewer.js:
2014         (WebInspector.TextViewer):
2015         (WebInspector.TextViewer.prototype._handleKeyDown):
2016         (WebInspector.TextViewer.prototype.editLine.finishEditing):
2017         (WebInspector.TextViewer.prototype.editLine):
2018         (WebInspector.TextChunk.prototype._createRow):
2019
2020 2011-01-21  Adam Klein  <adamk@chromium.org>
2021
2022         Reviewed by Eric Seidel.
2023
2024         [chromium] Rename ChromiumBridge to PlatformBridge
2025         https://bugs.webkit.org/show_bug.cgi?id=52471
2026
2027         No tests added as this is a rename; no change in behavior.
2028
2029         * WebCore.gypi:
2030         * bindings/v8/V8DOMWindowShell.cpp:
2031         (WebCore::reportFatalErrorInV8):
2032         * page/PageGroup.cpp:
2033         (WebCore::PageGroup::isLinkVisited):
2034         * platform/android/PlatformBridge.h:
2035         * platform/audio/chromium/AudioBusChromium.cpp:
2036         (WebCore::createBusFromInMemoryAudioFile):
2037         * platform/chromium/ChromiumBridge.h: Removed.
2038         * platform/chromium/ChromiumDataObjectLegacy.cpp:
2039         (WebCore::ChromiumDataObjectLegacy::getData):
2040         * platform/chromium/DragDataChromium.cpp:
2041         (WebCore::DragData::asURL):
2042         * platform/chromium/FileSystemChromium.cpp:
2043         (WebCore::deleteFile):
2044         (WebCore::deleteEmptyDirectory):
2045         (WebCore::getFileSize):
2046         (WebCore::getFileModificationTime):
2047         (WebCore::revealFolderInOS):
2048         (WebCore::directoryName):
2049         (WebCore::pathByAppendingComponent):
2050         (WebCore::makeAllDirectories):
2051         (WebCore::fileExists):
2052         (WebCore::openFile):
2053         (WebCore::closeFile):
2054         (WebCore::seekFile):
2055         (WebCore::truncateFile):
2056         (WebCore::readFromFile):
2057         (WebCore::writeToFile):
2058         * platform/chromium/LanguageChromium.cpp:
2059         (WebCore::platformDefaultLanguage):
2060         * platform/chromium/LinkHashChromium.cpp:
2061         (WebCore::visitedLinkHash):
2062         * platform/chromium/MIMETypeRegistryChromium.cpp:
2063         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2064         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
2065         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
2066         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
2067         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
2068         * platform/chromium/PasteboardChromium.cpp:
2069         (WebCore::Pasteboard::writeSelection):
2070         (WebCore::Pasteboard::writePlainText):
2071         (WebCore::Pasteboard::writeURL):
2072         (WebCore::Pasteboard::writeImage):
2073         (WebCore::Pasteboard::canSmartReplace):
2074         (WebCore::Pasteboard::plainText):
2075         (WebCore::Pasteboard::documentFragment):
2076         * platform/chromium/PlatformBridge.h:
2077         * platform/chromium/PlatformScreenChromium.cpp:
2078         (WebCore::screenDepth):
2079         (WebCore::screenDepthPerComponent):
2080         (WebCore::screenIsMonochrome):
2081         (WebCore::screenRect):
2082         (WebCore::screenAvailableRect):
2083         * platform/chromium/ReadableDataObject.cpp:
2084         (WebCore::ReadableDataObject::getData):
2085         (WebCore::ReadableDataObject::urlTitle):
2086         (WebCore::ReadableDataObject::htmlBaseUrl):
2087         (WebCore::ReadableDataObject::filenames):
2088         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
2089         * platform/chromium/SSLKeyGeneratorChromium.cpp:
2090         (WebCore::signedPublicKeyAndChallengeString):
2091         * platform/chromium/ScrollbarThemeChromium.cpp:
2092         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2093         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
2094         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
2095         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
2096         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
2097         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
2098         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
2099         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2100         (WebCore::scrollbarStateToThemeState):
2101         (WebCore::ScrollbarThemeChromiumMac::paint):
2102         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
2103         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
2104         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
2105         (WebCore::ScrollbarThemeChromiumWin::paintButton):
2106         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
2107         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
2108         * platform/chromium/SharedTimerChromium.cpp:
2109         (WebCore::setSharedTimerFiredFunction):
2110         (WebCore::setSharedTimerFireTime):
2111         (WebCore::stopSharedTimer):
2112         * platform/chromium/SuddenTerminationChromium.cpp:
2113         (WebCore::disableSuddenTermination):
2114         (WebCore::enableSuddenTermination):
2115         * platform/chromium/SystemTimeChromium.cpp:
2116         (WebCore::currentTime):
2117         * platform/chromium/WritableDataObject.cpp:
2118         (WebCore::WritableDataObject::setData):
2119         * platform/graphics/chromium/CrossProcessFontLoading.mm:
2120         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2121         (WebCore::fontContainsCharacter):
2122         (WebCore::FillLogFont):
2123         * platform/graphics/chromium/FontCacheLinux.cpp:
2124         (WebCore::FontCache::getFontDataForCharacters):
2125         * platform/graphics/chromium/FontChromiumWin.cpp:
2126         (WebCore::Font::drawGlyphs):
2127         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2128         (WebCore::FontPlatformData::scriptFontProperties):
2129         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2130         (WebCore::FontPlatformData::querySystemForRenderStyle):
2131         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
2132         (WebCore::fillBMPGlyphs):
2133         * platform/graphics/chromium/ImageChromium.cpp:
2134         (WebCore::Image::loadPlatformResource):
2135         * platform/graphics/chromium/ImageChromiumMac.mm:
2136         (WebCore::Image::loadPlatformResource):
2137         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2138         (WebCore::SimpleFontData::platformInit):
2139         (WebCore::SimpleFontData::determinePitch):
2140         (WebCore::SimpleFontData::platformWidthForGlyph):
2141         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
2142         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
2143         * platform/graphics/skia/FontCustomPlatformData.cpp:
2144         (WebCore::FontCustomPlatformData::fontPlatformData):
2145         * platform/network/chromium/CookieJarChromium.cpp:
2146         (WebCore::setCookies):
2147         (WebCore::cookies):
2148         (WebCore::cookieRequestHeaderFieldValue):
2149         (WebCore::cookiesEnabled):
2150         (WebCore::getRawCookies):
2151         (WebCore::deleteCookie):
2152         * platform/network/chromium/DNSChromium.cpp:
2153         (WebCore::prefetchDNS):
2154         * platform/qt/PlatformBridge.h:
2155         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
2156         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
2157         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
2158         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
2159         (chromiumOpen):
2160         (chromiumDelete):
2161         (chromiumAccess):
2162         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
2163         * plugins/chromium/PluginDataChromium.cpp:
2164         (WebCore::PluginCache::plugins):
2165         * rendering/RenderThemeChromiumMac.mm:
2166         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
2167         * rendering/RenderThemeChromiumSkia.cpp:
2168         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
2169         * rendering/RenderThemeChromiumWin.cpp:
2170         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
2171         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
2172         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
2173         (WebCore::RenderThemeChromiumWin::systemColor):
2174         (WebCore::RenderThemeChromiumWin::paintButton):
2175         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
2176         (WebCore::menuListButtonWidth):
2177         (WebCore::RenderThemeChromiumWin::paintMenuList):
2178         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2179         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
2180         (WebCore::RenderThemeChromiumWin::paintProgressBar):
2181         * storage/chromium/IDBFactoryBackendInterface.cpp:
2182         (WebCore::IDBFactoryBackendInterface::create):
2183         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
2184         * storage/chromium/IDBKeyPathBackendImpl.cpp:
2185         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
2186
2187 2011-01-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2188
2189         Unreviewed, rolling out r76335.
2190         http://trac.webkit.org/changeset/76335
2191         https://bugs.webkit.org/show_bug.cgi?id=52875
2192
2193         profiler tests were broken (Requested by loislo on #webkit).
2194
2195         * inspector/InspectorController.cpp:
2196         (WebCore::InspectorController::addProfile):
2197         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
2198         * inspector/InspectorController.h:
2199         * inspector/InspectorInstrumentation.cpp:
2200         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
2201         * inspector/InspectorInstrumentation.h:
2202         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
2203         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
2204         * page/Console.cpp:
2205         (WebCore::Console::profile):
2206         (WebCore::Console::profileEnd):
2207
2208 2011-01-21  Ilya Tikhonovsky  <loislo@chromium.org>
2209
2210         Reviewed by Yury Semikhatsky.
2211
2212         Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
2213
2214         There are some places in WebCore where we still using direct InspectorController calls.
2215         The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
2216         Inspector facade for WebCore.
2217
2218         https://bugs.webkit.org/show_bug.cgi?id=52869
2219
2220         * inspector/InspectorController.cpp:
2221         * inspector/InspectorController.h:
2222         * inspector/InspectorInstrumentation.cpp:
2223         (WebCore::InspectorInstrumentation::addProfileImpl):
2224         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
2225         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
2226         * inspector/InspectorInstrumentation.h:
2227         (WebCore::InspectorInstrumentation::addProfile):
2228         (WebCore::InspectorInstrumentation::profilerEnabled):
2229         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
2230         * page/Console.cpp:
2231         (WebCore::Console::profile):
2232         (WebCore::Console::profileEnd):
2233
2234 2011-01-20  Sam Weinig  <sam@webkit.org>
2235
2236         Reviewed by Gavin Barraclough.
2237
2238         Fix failing tests from r76291.
2239
2240         * platform/ScrollView.cpp:
2241         (WebCore::ScrollView::scrollPosition):
2242         (WebCore::ScrollView::updateScrollbars):
2243         Take the scroll origin into account in more places.
2244
2245 2011-01-20  Kent Tamura  <tkent@chromium.org>
2246
2247         Unreviewed, sorting an Xcode project file.
2248
2249         * WebCore.xcodeproj/project.pbxproj:
2250
2251 2011-01-20  Ben Vanik  <ben.vanik@gmail.com>
2252
2253         Reviewed by Kenneth Russell.
2254
2255         Implementation of the OES_standard_derivatives WebGL extension.
2256         https://bugs.webkit.org/show_bug.cgi?id=51678
2257
2258         Changes are modeled off of the existing OESTextureFloat extension. New files,
2259         extension retrieval, etc all match the existing code.
2260
2261         Changed ANGLEWebKitBridge to allow for multiple sets of the ANGLE shader compiler
2262         options. This supports the enabling of the standard derivatives flag when the
2263         extension is enabled. Refactored the cleanup code to make the destruction of the
2264         compilers (if they had been created) cleaner.
2265
2266         Tested with the WebGL conformance test:
2267         https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-standard-derivatives.html
2268         Passes on WebKit/OSX, Chromium/OSX, and Chromium/Windows.
2269
2270         * CMakeLists.txt:
2271         * DerivedSources.make:
2272         * GNUmakefile.am:
2273         * WebCore.gypi:
2274         * WebCore.pri:
2275         * WebCore.pro:
2276         * WebCore.xcodeproj/project.pbxproj:
2277         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2278         (WebCore::toJS):
2279         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2280         (WebCore::toV8Object):
2281         * html/canvas/OESStandardDerivatives.cpp: Added.
2282         (WebCore::OESStandardDerivatives::OESStandardDerivatives):
2283         (WebCore::OESStandardDerivatives::~OESStandardDerivatives):
2284         (WebCore::OESStandardDerivatives::getName):
2285         (WebCore::OESStandardDerivatives::create):
2286         * html/canvas/OESStandardDerivatives.h: Added.
2287         * html/canvas/OESStandardDerivatives.idl: Added.
2288         * html/canvas/WebGLExtension.h:
2289         * html/canvas/WebGLRenderingContext.cpp:
2290         (WebCore::WebGLRenderingContext::getExtension): Enable and return the new extension.
2291         (WebCore::WebGLRenderingContext::getParameter): Support extension enum when enabled.
2292         (WebCore::WebGLRenderingContext::getSupportedExtensions): 
2293         (WebCore::WebGLRenderingContext::hint): Validate extension enum when enabled.
2294         (WebCore::WebGLRenderingContext::getNumberOfExtensions):
2295         (WebCore::WebGLRenderingContext::getExtensionNumber):
2296         * html/canvas/WebGLRenderingContext.h:
2297         * platform/graphics/ANGLEWebKitBridge.cpp:
2298         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Cleaned up compiler cleanup.
2299         (WebCore::ANGLEWebKitBridge::cleanupCompilers): Destruct compilers.
2300         (WebCore::ANGLEWebKitBridge::setResources): Cleanup existing compilers when changing
2301         ANGLE settings.
2302         (WebCore::ANGLEWebKitBridge::validateShaderSource): Cleaned up compiler cleanup on error.
2303         * platform/graphics/ANGLEWebKitBridge.h:
2304         (WebCore::ANGLEWebKitBridge::getResources):
2305         * platform/graphics/Extensions3D.h: Added enumeration for the extension.
2306         * platform/graphics/GraphicsContext3D.h: lumbing for GraphicsContext3D.
2307         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2308         (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Plumbed through a pointer to the
2309         GraphicsContext3D to handle resetting the shader compilers.
2310         (WebCore::Extensions3DOpenGL::supports): Desktop GL always supports this extension,
2311         so always return true.
2312         (WebCore::Extensions3DOpenGL::ensureEnabled): Reset shader compilers as required.
2313         * platform/graphics/opengl/Extensions3DOpenGL.h: Plumbing for GraphicsContext3D.
2314         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2315         (WebCore::GraphicsContext3D::getExtensions): Plumbing for GraphicsContext3D to
2316         Extensions3DOpenGL.
2317
2318 2011-01-20  Xiaomei Ji  <xji@chromium.org>
2319
2320         Reviewed by Dan Bernstein.
2321
2322         Fix regression(r71566): PDF in RTL block might messes up text directionality.
2323         https://bugs.webkit.org/show_bug.cgi?id=52776
2324
2325         Test: fast/dom/52776.html
2326
2327         * platform/text/BidiResolver.h:
2328         (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
2329         (WebCore::::lowerExplicitEmbeddingLevel):
2330         (WebCore::::raiseExplicitEmbeddingLevel):
2331         (WebCore::::createBidiRunsForLine):
2332
2333 2011-01-20  Beth Dakin  <bdakin@apple.com>
2334
2335         Reviewed by Anders Carlsson.
2336
2337         Follow-on for <rdar://problem/8890255>
2338
2339         This fixes a painting error with ScrollbarPainter scrollers
2340         and the new drawing area code path.
2341         * platform/mac/ScrollbarThemeMac.mm:
2342         (WebCore::updateArrowPlacement):
2343
2344 2011-01-20  Levi Weintraub  <leviw@chromium.org>
2345
2346         Unreviewed.
2347
2348         Fixing build breakage.
2349
2350         * editing/SelectionController.cpp:
2351         (WebCore::SelectionController::willBeModified):
2352
2353 2011-01-20  Levi Weintraub  <leviw@chromium.org>
2354
2355         Reviewed by Ryosuke Niwa.
2356
2357         RTL: Caret goes to the opposite direction when pressing an arrow key after selection is made
2358         https://bugs.webkit.org/show_bug.cgi?id=49511
2359
2360         Test: editing/selection/rtl-move-selection-right-left.html
2361
2362         * editing/SelectionController.cpp:
2363         (WebCore::SelectionController::willBeModified):
2364         Respecting the direction of the containing block when switching selection base and extent in
2365         RTL content.
2366
2367         (WebCore::SelectionController::modifyMovingRight):
2368         (WebCore::SelectionController::modifyMovingLeft):
2369         Using directionOfEnclosingBlock when deciding to use the selection start or end to do the
2370         correct thing for RTL.
2371
2372 2011-01-20  Nate Chapin  <japhet@chromium.org>
2373
2374         Reviewed by Adam Barth.
2375
2376         Null-check m_frame in DOMWindow::setLocation(), since it's
2377         possible to reach this point without it having been checked
2378         already.
2379         https://bugs.webkit.org/show_bug.cgi?id=52769
2380
2381         Test: fast/dom/Window/Location/set-location-after-close.html
2382
2383         * page/DOMWindow.cpp:
2384         (WebCore::DOMWindow::setLocation):
2385
2386 2011-01-20  Chang Shu  <chang.shu@nokia.com>
2387
2388         Reviewed by Darin Adler.
2389
2390         setContentEditable with invalid string should throw exception.
2391         https://bugs.webkit.org/show_bug.cgi?id=52057
2392
2393         Implemented exception throwing for setContentEditable according to the following spec:
2394         http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#attr-contenteditable
2395         Related quotas: "On setting, if the new value is an ASCII case-insensitive match for the 
2396         string 'inherit' then the content attribute must be removed, if the new value is an ASCII 
2397         case-insensitive match for the string 'true' then the content attribute must be set to the 
2398         string 'true', if the new value is an ASCII case-insensitive match for the string 'false' 
2399         then the content attribute must be set to the string 'false', and otherwise the attribute 
2400         setter must raise a SYNTAX_ERR exception."
2401
2402         * html/HTMLElement.cpp:
2403         (WebCore::HTMLElement::setContentEditable): Throw exception on invalid input strings; Make setting values case-insensitive and also convert them to lower cases according to the spec.
2404         * html/HTMLElement.h: Add additional parameter ExceptionCode& for function setContentEditable.
2405         * html/HTMLElement.idl: Add exception throwing support for contentEditable setter.
2406
2407 2011-01-19  Adrienne Walker  <enne@google.com>
2408
2409         Reviewed by James Robinson.
2410
2411         [chromium] Composited render surfaces should allow writes to alpha channel.
2412         https://bugs.webkit.org/show_bug.cgi?id=52766
2413
2414         Test: LayoutTests/platform/chromium/compositing
2415
2416         * platform/graphics/chromium/LayerRendererChromium.cpp:
2417         (WebCore::LayerRendererChromium::drawLayers):
2418
2419 2011-01-14  Jer Noble  <jer.noble@apple.com>
2420
2421         Reviewed by Eric Carlson.
2422
2423         REGRESSION (r71842): Compass video is not playing in Safari welcome page
2424         https://bugs.webkit.org/show_bug.cgi?id=52506
2425
2426         New test: LayoutTests/media/video-currentTime-delay.html
2427
2428         Call invalidateCachedTime() every time one of the cached property dependencies changes,
2429         i.e. m_paused and m_playbackRate.
2430
2431         * html/HTMLMediaElement.cpp:
2432         (WebCore::HTMLMediaElement::prepareForLoad):
2433         (WebCore::HTMLMediaElement::setReadyState):
2434         (WebCore::HTMLMediaElement::setPlaybackRate):
2435         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
2436
2437 2011-01-20  Beth Dakin  <bdakin@apple.com>
2438
2439         Reviewed by Geoffrey Garen.
2440
2441         Fix for <rdar://problem/8890255>
2442
2443         Allow WebKitSystemInterface to draw scrollbars 
2444         when appropriate.
2445         * WebCore.exp.in:
2446         * platform/mac/ScrollbarThemeMac.mm:
2447         (WebCore::scrollbarMap):
2448         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
2449         (WebCore::ScrollbarThemeMac::registerScrollbar):
2450         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2451         (WebCore::ScrollbarThemeMac::paint):
2452         * platform/mac/WebCoreSystemInterface.h:
2453         * platform/mac/WebCoreSystemInterface.mm:
2454
2455 2011-01-20  Sam Weinig  <sam@webkit.org>
2456
2457         Reviewed by Dave Hyatt.
2458
2459         Cleanup Scrollbar/ScrollbarClient relationship
2460         https://bugs.webkit.org/show_bug.cgi?id=52779
2461
2462         Pipe all scrolling through the ScrollbarClient/ScrollAnimator
2463         rather than through the Scrollbar. The Scrollbar now is just
2464         a "view" on the scroll position of the scrollable area it is
2465         attached to.
2466
2467         There are now two ways to scroll a scrollable area:
2468         - ScrollbarClient::scroll()
2469         - ScrollbarClient::scrollToOffsetWithoutAnimation()
2470
2471         Both of these go through the ScrollAnimator (updating its state
2472         or starting an animation). The ScrollAnimator, in turn, now calls
2473         ScrollbarClient::setScrollOffsetFromAnimation, which tells the
2474         Scrollbars to pull a new offset (via Scrollbar::offsetDidChange)
2475         and tells the class that derives from ScrollbarClient to scroll
2476         its contents (via ScrollbarClient::setScrollOffset).
2477
2478         * WebCore.xcodeproj/project.pbxproj:
2479         Move Scrollbar.cpp to the right place.
2480
2481         * accessibility/AccessibilityScrollbar.cpp:
2482         (WebCore::AccessibilityScrollbar::setValue):
2483         Initiate the scroll through the scrollbar client, rather than the
2484         scrollbar itself.
2485
2486         * page/FrameView.cpp:
2487         (WebCore::FrameView::scrollTo):
2488         * page/FrameView.h:
2489         Condense the two valueChanged overrides to a single override of the
2490         scrollTo function.
2491
2492         * platform/ScrollAnimator.cpp:
2493         (WebCore::ScrollAnimator::scroll):
2494         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
2495         (WebCore::ScrollAnimator::currentPosition):
2496         (WebCore::ScrollAnimator::notityPositionChanged):
2497         * platform/ScrollAnimator.h:
2498         * platform/ScrollAnimatorWin.cpp:
2499         (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
2500         (WebCore::ScrollAnimatorWin::animateScroll):
2501         * platform/ScrollAnimatorWin.h:
2502         * platform/mac/ScrollAnimatorMac.h:
2503         * platform/mac/ScrollAnimatorMac.mm:
2504         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
2505         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
2506         Change setScrollPositionAndStopAnimation to scrollToOffsetWithoutAnimation
2507         and bottleneck all client notification of changed position through a new
2508         notityPositionChanged() function.
2509
2510         * platform/ScrollView.cpp:
2511         (WebCore::ScrollView::setScrollOffset):
2512         (WebCore::ScrollView::scrollTo):
2513         (WebCore::ScrollView::scrollPosition):
2514         (WebCore::ScrollView::scroll):
2515         (WebCore::ScrollView::updateScrollbars):
2516         (WebCore::ScrollView::wheelEvent):
2517         * platform/ScrollView.h:
2518         (WebCore::ScrollView::horizontalScrollbar):
2519         (WebCore::ScrollView::verticalScrollbar):
2520         Update to scroll via the ScrollbarClient rather than the Scrollbar.
2521
2522         * platform/Scrollbar.cpp:
2523         (WebCore::Scrollbar::offsetDidChange):
2524         (WebCore::Scrollbar::autoscrollPressedPart):
2525         (WebCore::Scrollbar::moveThumb):
2526         (WebCore::Scrollbar::mouseMoved):
2527         * platform/Scrollbar.h:
2528         (WebCore::Scrollbar::setPressedPos):
2529         Change the scrollbar to only updates its offset in response to
2530         an offsetDidChange call.
2531
2532         * platform/ScrollbarClient.cpp:
2533         (WebCore::ScrollbarClient::scroll):
2534         (WebCore::ScrollbarClient::scrollToOffsetWithoutAnimation):
2535         (WebCore::ScrollbarClient::scrollToXOffsetWithoutAnimation):
2536         (WebCore::ScrollbarClient::scrollToYOffsetWithoutAnimation):
2537         (WebCore::ScrollbarClient::setScrollOffsetFromAnimation):
2538         * platform/ScrollbarClient.h:
2539         (WebCore::ScrollbarClient::horizontalScrollbar):
2540         (WebCore::ScrollbarClient::verticalScrollbar):
2541         Make the increasingly misnamed ScrollbarClient responsible for
2542         scrolling.
2543
2544         * platform/efl/ScrollbarEfl.cpp:
2545         (scrollbarEflEdjeMessage):
2546         * platform/gtk/MainFrameScrollbarGtk.cpp:
2547         (MainFrameScrollbarGtk::gtkValueChanged):
2548         * platform/qt/ScrollbarQt.cpp:
2549         (WebCore::Scrollbar::contextMenu):
2550         Update to move scrolling through the client.
2551
2552         * platform/win/PopupMenuWin.cpp:
2553         (WebCore::PopupMenuWin::scrollToRevealSelection):
2554         (WebCore::PopupMenuWin::scrollPosition):
2555         (WebCore::PopupMenuWin::setScrollOffset):
2556         (WebCore::PopupMenuWin::scrollTo):
2557         (WebCore::PopupMenuWin::wndProc):
2558         * platform/win/PopupMenuWin.h:
2559         (WebCore::PopupMenuWin::verticalScrollbar):
2560         * rendering/RenderLayer.cpp:
2561         (WebCore::RenderLayer::scrollToOffset):
2562         (WebCore::RenderLayer::scrollTo):
2563         (WebCore::RenderLayer::setScrollOffset):
2564         (WebCore::RenderLayer::scrollPosition):
2565         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2566         (WebCore::RenderLayer::scroll):
2567         * rendering/RenderLayer.h:
2568         * rendering/RenderListBox.cpp:
2569         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
2570         (WebCore::RenderListBox::scroll):
2571         (WebCore::RenderListBox::logicalScroll):
2572         (WebCore::RenderListBox::scrollPosition):
2573         (WebCore::RenderListBox::setScrollOffset):
2574         (WebCore::RenderListBox::scrollTo):
2575         (WebCore::RenderListBox::setScrollTop):
2576         * rendering/RenderListBox.h:
2577         (WebCore::RenderListBox::verticalScrollbar):
2578         Update to scroll via the ScrollbarClient rather than the Scrollbar.
2579
2580         * rendering/RenderMarquee.cpp:
2581         (WebCore::RenderMarquee::start):
2582         Simplify initial paint to just do an immediate scroll to the position.
2583
2584 2011-01-20  Patrick Gansterer  <paroga@webkit.org>
2585
2586         Unreviewed WinCE build fix for r76170.
2587
2588         * platform/graphics/wince/FontWinCE.cpp: Added a missing include.
2589         * platform/graphics/wince/ImageBufferData.h: Added a missing include and fixed style.
2590
2591 2011-01-20  James Robinson  <jamesr@chromium.org>
2592
2593         Reviewed by Darin Fisher.
2594
2595         Implement mozilla's requestAnimationFrame API
2596         https://bugs.webkit.org/show_bug.cgi?id=51218
2597
2598         This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
2599         an author driving an animation from script could use window.requestAnimationFrame(callback)
2600         instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
2601         decide when to update the animations.  This avoids doing unnecessary work when the page content
2602         is offscreen or is being displayed at a different framerate than what the page author expects.
2603
2604         Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
2605         This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
2606         following changes:
2607         *) Only the callback syntax is supported, there is no before paint event
2608         *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
2609             what content they intend to animate.  That way if the page is being displayed but the element
2610             in question is offscreen, we can avoid invoking the callback.
2611         *) No timestamp is provided to the caller and there is no window.animationStartTime property
2612             (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
2613         *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
2614             using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
2615
2616         The implementation depends on the embedder scheduling the callbacks since the callback invocation
2617         depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
2618         to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
2619         called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
2620         Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
2621         embedder has to rate limit callbacks and may not be able to tie the callback directly to the
2622         rendering loop.
2623
2624         Tests: fast/animation/request-animation-frame-cancel.html
2625                fast/animation/request-animation-frame-cancel2.html
2626                fast/animation/request-animation-frame-display.html
2627                fast/animation/request-animation-frame-within-callback.html
2628                fast/animation/request-animation-frame.html
2629
2630         * WebCore.gypi:
2631         * dom/Document.cpp:
2632         (WebCore::Document::Document):
2633         (WebCore::Document::webkitRequestAnimationFrame):
2634         (WebCore::Document::webkitCancelRequestAnimationFrame):
2635         (WebCore::Document::serviceScriptedAnimations):
2636         * dom/Document.h:
2637         * dom/RequestAnimationFrameCallback.h: Added.
2638         (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
2639         * dom/RequestAnimationFrameCallback.idl: Added.
2640         * loader/EmptyClients.h:
2641         (WebCore::EmptyChromeClient::scheduleAnimation):
2642         * page/Chrome.cpp:
2643         (WebCore::Chrome::scheduleAnimation):
2644         * page/Chrome.h:
2645         * page/ChromeClient.h:
2646         * page/DOMWindow.cpp:
2647         (WebCore::DOMWindow::webkitRequestAnimationFrame):
2648         (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
2649         * page/DOMWindow.h:
2650         * page/DOMWindow.idl:
2651         * page/FrameView.cpp:
2652         (WebCore::FrameView::scheduleAnimation):
2653         (WebCore::FrameView::serviceScriptedAnimations):
2654         * page/FrameView.h:
2655         * platform/HostWindow.h:
2656
2657 2011-01-20  James Robinson  <jamesr@chromium.org>
2658
2659         Reviewed by Nate Chapin.
2660
2661         [v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters
2662         https://bugs.webkit.org/show_bug.cgi?id=52837
2663
2664         When generating code to invoke a callback with no parameters CodeGeneratorV8.pm was generating the following:
2665         v8::Handle<v8::Value> argv[] = {}; which does not compile in visual studio.  Instead, if the argument count
2666         is 0, we can just pass a NULL pointer for the argv parameter.
2667
2668         Test added to bindings/scripts/test/TestCallback.idl and covered by run-bindings-tests.  This
2669         patch also includes some spurious changes to the bindings tests golden files (mostly GObject)
2670         because the old golden files were out of date.
2671
2672         * bindings/scripts/CodeGeneratorV8.pm:
2673         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
2674         (WebDOMTestCallback::callbackWithNoParam):
2675         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
2676         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2677         (webkit_dom_test_callback_callback_with_no_param):
2678         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2679         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
2680         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
2681         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2682         * bindings/scripts/test/JS/JSTestCallback.cpp:
2683         (WebCore::JSTestCallback::callbackWithNoParam):
2684         * bindings/scripts/test/JS/JSTestCallback.h:
2685         * bindings/scripts/test/JS/JSTestInterface.cpp:
2686         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2687         * bindings/scripts/test/JS/JSTestObj.cpp:
2688         * bindings/scripts/test/ObjC/DOMTestCallback.h:
2689         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2690         (-[DOMTestCallback callbackWithNoParam]):
2691         * bindings/scripts/test/TestCallback.idl:
2692         * bindings/scripts/test/V8/V8TestCallback.cpp:
2693         (WebCore::V8TestCallback::callbackWithNoParam):
2694         * bindings/scripts/test/V8/V8TestCallback.h:
2695         * bindings/scripts/test/V8/V8TestObj.cpp:
2696         (WebCore::TestObjInternal::reflectedUnsignedIntegralAttrAttrGetter):
2697
2698 2011-01-20  James Robinson  <jamesr@chromium.org>
2699
2700         Reviewed by Eric "Baller" Seidel.
2701
2702         RenderTableSection's setNeedsCellRecalc needs to null check table()
2703         https://bugs.webkit.org/show_bug.cgi?id=52770
2704
2705         Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc.
2706         This can be null during detach().  Test constructed by Eric Seidel.
2707
2708         Test: fast/css-generated-content/table-with-scrollbar-corner.html
2709
2710         * rendering/RenderTableSection.cpp:
2711         (WebCore::RenderTableSection::setNeedsCellRecalc):
2712         * rendering/RenderTableSection.h:
2713
2714 2011-01-20  Dirk Schulze  <krit@webkit.org>
2715
2716         Reviewed by Rob Buis.
2717
2718         SVG Pattern doesn't take preserveAspectRatio of references Pattern
2719         https://bugs.webkit.org/show_bug.cgi?id=52802
2720
2721         SVGPattern didn't take preserveAspectRatio of a referenced SVGPattern into account. Store preserveAspectRatio
2722         in PatternAttributes as well, if the attribute was set on the referenced SVGPattern element.
2723
2724         Test: svg/custom/pattern-referencing-preserve-aspect-ratio.svg
2725
2726         * rendering/svg/RenderSVGResourcePattern.cpp:
2727         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
2728         * svg/PatternAttributes.h:
2729         (WebCore::PatternAttributes::PatternAttributes):
2730         (WebCore::PatternAttributes::preserveAspectRatio):
2731         (WebCore::PatternAttributes::setPreserveAspectRatio):
2732         (WebCore::PatternAttributes::hasPreserveAspectRatio):
2733         * svg/SVGPatternElement.cpp:
2734         (WebCore::SVGPatternElement::collectPatternAttributes):
2735
2736 2011-01-20  Dan Bernstein  <mitz@apple.com>
2737
2738         Reviewed by Adele Peterson.
2739
2740         <rdar://problem/8765498> REGRESSION (r72141): Cannot order prints with Aperture 3.1
2741
2742         <rdar://problem/8884648> REGRESSION (r72141): Safari hangs when visiting a page on www.bfmtv.com
2743         https://bugs.webkit.org/show_bug.cgi?id=52765
2744
2745         <rdar://problem/8890909> REGRESSION (r72141): Very Slow Rendering With Certain Markup
2746         https://bugs.webkit.org/show_bug.cgi?id=52265
2747
2748         Test: fast/block/line-layout/negative-max-height.html
2749
2750         Integer overflow detection led to a block having a huge height. This manifested as broken layout
2751         in the first bug and as extreme slowness in the latter bugs because of
2752         https://bugs.webkit.org/show_bug.cgi?id=52832
2753
2754         * rendering/RootInlineBox.cpp:
2755         (WebCore::RootInlineBox::alignBoxesInBlockDirection): Clamp maxHeight to 0 so the next line
2756         cannot start above this line. The negative maxHeight also caused the integer overflow detection
2757         logic to give the block a huge height.
2758
2759 2011-01-20  Yi Shen  <yi.4.shen@nokia.com>
2760
2761         Reviewed by Eric Carlson.
2762
2763         Clean up the Media Controls CSS for Qt
2764         https://bugs.webkit.org/show_bug.cgi?id=52822
2765
2766         Split the audio::-webkit-media-xxx and video::-webkit-media-xxx rules 
2767         in mediaControlsQt.css, and remove the duplicate audio::-webkit-media-xxx
2768         rules from mediaControlsQtFullscreen.css.
2769
2770         * css/mediaControlsQt.css:
2771         (audio::-webkit-media-controls-panel):
2772         (video::-webkit-media-controls-panel):
2773         (audio::-webkit-media-controls-mute-button):
2774         (video::-webkit-media-controls-mute-button):
2775         (audio::-webkit-media-controls-play-button):
2776         (video::-webkit-media-controls-play-button):
2777         (audio::-webkit-media-controls-timeline-container):
2778         (video::-webkit-media-controls-timeline-container):
2779         (audio::-webkit-media-controls-current-time-display):
2780         (video::-webkit-media-controls-current-time-display):
2781         (audio::-webkit-media-controls-time-remaining-display):
2782         (video::-webkit-media-controls-time-remaining-display):
2783         (audio::-webkit-media-controls-timeline):
2784         (video::-webkit-media-controls-timeline):
2785         (audio::-webkit-media-controls-volume-slider-container):
2786         (video::-webkit-media-controls-volume-slider-container):
2787         (audio::-webkit-media-controls-volume-slider):
2788         (video::-webkit-media-controls-volume-slider):
2789         (audio::-webkit-media-controls-seek-back-button):
2790         (video::-webkit-media-controls-seek-back-button):
2791         (audio::-webkit-media-controls-seek-forward-button):
2792         (video::-webkit-media-controls-seek-forward-button):
2793         (audio::-webkit-media-controls-fullscreen-button):
2794         (video::-webkit-media-controls-fullscreen-button):
2795         (audio::-webkit-media-controls-rewind-button):
2796         (video::-webkit-media-controls-rewind-button):
2797         (audio::-webkit-media-controls-return-to-realtime-button):
2798         (video::-webkit-media-controls-return-to-realtime-button):
2799         (audio::-webkit-media-controls-toggle-closed-captions-button):
2800         (video::-webkit-media-controls-toggle-closed-captions-button):
2801         * css/mediaControlsQtFullscreen.css:
2802         (video::-webkit-media-controls-time-remaining-display):
2803         (video::-webkit-media-controls-seek-back-button):
2804         (video::-webkit-media-controls-seek-forward-button):
2805         (video::-webkit-media-controls-rewind-button):
2806         (video::-webkit-media-controls-return-to-realtime-button):
2807         (video::-webkit-media-controls-toggle-closed-captions-button):
2808
2809 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
2810
2811         Reviewed by Pavel Feldman.
2812
2813         Web Inspector: [REGRESSION] Canceling of CSS numeric values increment/decrement is broken
2814         https://bugs.webkit.org/show_bug.cgi?id=52816
2815
2816         * inspector/front-end/StylesSidebarPane.js:
2817         (WebInspector.StylePropertyTreeElement.prototype):
2818
2819 2011-01-20  Dawit Alemayehu  <adawit@kde.org>
2820
2821         Reviewed by Andreas Kling.
2822
2823         [Qt] Fix Layering violation in MediaPlayerPrivateQt.
2824         https://bugs.webkit.org/show_bug.cgi?id=52733
2825
2826         No new tests. no behavioral change.
2827
2828        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2829         (WebCore::MediaPlayerPrivateQt::commitLoad):
2830
2831 2011-01-20  Nate Chapin  <japhet@chromium.org>
2832
2833         Reviewed by Darin Fisher.
2834
2835         [V8] Call malloc and memcpy directly instead of
2836         of strdup in convertV8ObjectToNPVariant() when
2837         converting strings. If there is a null character
2838         in the string, our use of strdup causes us to allocate
2839         too little memory, leading to out of bounds reads.
2840
2841         https://bugs.webkit.org/show_bug.cgi?id=52631
2842
2843         * bindings/v8/V8NPUtils.cpp:
2844         (WebCore::convertV8ObjectToNPVariant):
2845
2846 2011-01-20  Andreas Kling  <kling@webkit.org>
2847
2848         Reviewed by Ariya Hidayat.
2849
2850         [Qt] Fill shadow scratch buffer with proper transparent pixels
2851
2852         QImage::fill() has no Qt::GlobalColor overload in Qt 4.7 (coming in 4.8)
2853         so doing QImage::fill(Qt::transparent) will actually fill all pixels with
2854         the RGBA value 0x00000013.
2855
2856         * platform/graphics/qt/ContextShadowQt.cpp:
2857         (WebCore::ShadowBuffer::scratchImage):
2858
2859 2011-01-19  Adam Roben  <aroben@apple.com>
2860
2861         Remove WKCACFContextFlusher
2862
2863         It wasn't doing anything.
2864
2865         Fixes <http://webkit.org/b/52752> WKCACFContextFlusher is unused
2866
2867         Reviewed by Simon Fraser.
2868
2869         * WebCore.vcproj/WebCore.vcproj: Removed WKCACFContextFlusher. Also let VS have its way with
2870         the file.
2871
2872         * platform/graphics/win/WKCACFContextFlusher.cpp: Removed.
2873         * platform/graphics/win/WKCACFContextFlusher.h: Removed.
2874
2875         * platform/graphics/win/WKCACFLayerRenderer.cpp:
2876         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
2877         (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
2878         Stop telling WKCACFContextFlusher about our context, since it never did anything with it.
2879
2880 2011-01-19  Adam Roben  <aroben@apple.com>
2881
2882         Only flush our own context when we get resized
2883
2884         Fixes <http://webkit.org/b/52751> All WKCACFContexts with uncommitted
2885         changes get flushed whenever any composited page is resized
2886
2887         Reviewed by Simon Fraser.
2888
2889         * platform/graphics/win/WKCACFLayerRenderer.cpp:
2890         (WebCore::WKCACFLayerRenderer::resize): Just flush our own context, not all contexts
2891         WKCACFContextFlusher knows about. After all, ours is the only one that just got resized!
2892
2893 2011-01-19  Adam Roben  <aroben@apple.com>
2894
2895         Make WKCACFLayerRenderer ref-counted
2896
2897         This will be needed to handle cases where the client might release its reference to us while
2898         we're calling out to it.
2899
2900         WKCACFLayerRenderer now has a setClient function, which is used rather than passing the
2901         client to create(). This allows clients to null out the client pointer when they're done
2902         with the renderer.
2903
2904         Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be
2905         ref-counted
2906
2907         Reviewed by Simon Fraser.
2908
2909         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
2910         (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow):
2911         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
2912         Updated for WKCACFLayerRenderer changes.
2913
2914         * platform/graphics/win/WKCACFLayerRenderer.cpp:
2915         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): Updated for changes to
2916         create().
2917         (WebCore::WKCACFLayerRenderer::create): No longer takes a WKCACFLayerRendererClient. Now
2918         returns a PassOwnPtr.
2919         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): No longer takes a
2920         WKCACFLayerRendererClient.
2921
2922         * platform/graphics/win/WKCACFLayerRenderer.h: Made WKCACFLayerRenderer inherit from
2923         RefCounted.
2924         (WebCore::WKCACFLayerRenderer::setClient): Added this simple setter.
2925
2926 2011-01-20  Csaba Osztrogonác  <ossy@webkit.org>
2927
2928         [Qt][V8] Unreviewed buildfix after r76248.
2929
2930         * bindings/v8/ScriptCachedFrameData.h: Add missing include.
2931
2932 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
2933
2934         Reviewed by Yury Semikhatsky.
2935
2936         Web Inspector: enable resource agent upon request.
2937         https://bugs.webkit.org/show_bug.cgi?id=52815
2938
2939         We should not send network-related notifications unless front-end
2940         is interested.
2941
2942         * inspector/Inspector.idl:
2943         * inspector/InspectorController.cpp:
2944         (WebCore::InspectorController::restoreInspectorStateFromCookie):
2945         (WebCore::InspectorController::connectFrontend):
2946         (WebCore::InspectorController::resourceAgent):
2947         * inspector/InspectorController.h:
2948         (WebCore::InspectorController::consoleAgent):
2949         (WebCore::InspectorController::cssAgent):
2950         (WebCore::InspectorController::domAgent):
2951         (WebCore::InspectorController::injectedScriptAgent):
2952         (WebCore::InspectorController::runtimeAgent):
2953         (WebCore::InspectorController::databaseAgent):
2954         (WebCore::InspectorController::domStorageAgent):
2955         (WebCore::InspectorController::fileSystemAgent):
2956         * inspector/InspectorInstrumentation.cpp:
2957         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
2958         * inspector/InspectorResourceAgent.cpp:
2959         (WebCore::InspectorResourceAgent::restore):
2960         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
2961         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
2962         * inspector/InspectorResourceAgent.h:
2963         (WebCore::InspectorResourceAgent::create):
2964         * inspector/InspectorState.cpp:
2965         (WebCore::InspectorState::InspectorState):
2966         * inspector/InspectorState.h:
2967
2968 2011-01-20  Zoltan Horvath  <zoltan@webkit.org>
2969
2970         Reviewed by Csaba Osztrogonác.
2971
2972         Refactoring of the custom allocation framework
2973         https://bugs.webkit.org/show_bug.cgi?id=49897
2974
2975         Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
2976         The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
2977         equivalent macro implementation at the necessary places.
2978
2979 2011-01-20  Mikhail Naganov  <mnaganov@chromium.org>
2980
2981         Reviewed by Pavel Feldman.
2982
2983         Web Inspector: [Chromium] CPU Profiles are cleared when navigating back and forth.
2984
2985         Profiles are now not cleared unless renderer instance was changed.
2986
2987         https://bugs.webkit.org/show_bug.cgi?id=52807
2988
2989         * inspector/InspectorController.cpp:
2990         (WebCore::InspectorController::restoreProfiler):
2991         * inspector/InspectorProfilerAgent.cpp:
2992         (WebCore::InspectorProfilerAgent::resetState):
2993         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
2994         * inspector/InspectorProfilerAgent.h:
2995
2996 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
2997
2998         Unreviewed, add new JS file refs missing from r76116.
2999
3000         * WebCore.gypi:
3001         * WebCore.vcproj/WebCore.vcproj:
3002         * inspector/front-end/WebKit.qrc:
3003
3004 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
3005
3006         Reviewed by Pavel Feldman.
3007
3008         Web Inspector: Crash when adding a rule for an ImageDocument
3009         https://bugs.webkit.org/show_bug.cgi?id=52811
3010
3011         * inspector/InspectorCSSAgent.cpp:
3012         (WebCore::InspectorCSSAgent::addRule2):
3013         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
3014
3015 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
3016
3017         Reviewed by Pavel Feldman.
3018
3019         Web Inspector: cleanup InspectorController's friends list.
3020         We have a plan to extract InspectorAgent from InspectorController.
3021         InspectorAgent will be accessible only from InspectorController.
3022         As result we can simply made some methods public and remove long
3023         friends list.
3024
3025         https://bugs.webkit.org/show_bug.cgi?id=52806
3026
3027         * inspector/InjectedScriptHost.cpp:
3028         (WebCore::InjectedScriptHost::databaseForId):
3029         (WebCore::InjectedScriptHost::selectDatabase):
3030         (WebCore::InjectedScriptHost::selectDOMStorage):
3031         (WebCore::InjectedScriptHost::inspectorDOMAgent):
3032         (WebCore::InjectedScriptHost::frontend):
3033         * inspector/InspectorBrowserDebuggerAgent.cpp:
3034         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
3035         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
3036         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
3037         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
3038         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
3039         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
3040         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
3041         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
3042         * inspector/InspectorController.h:
3043         (WebCore::InspectorController::frontend):
3044         * inspector/InspectorInstrumentation.cpp:
3045         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
3046         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
3047         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
3048         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
3049         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
3050         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
3051         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
3052         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
3053         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
3054         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
3055         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
3056         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
3057         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
3058         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
3059         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
3060         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
3061
3062 2011-01-19  Pavel Podivilov  <podivilov@chromium.org>
3063
3064         Reviewed by Yury Semikhatsky.
3065
3066         Web Inspector: implement JavaScriptBreakpointsSidebarPane based on events from debugger model.
3067         https://bugs.webkit.org/show_bug.cgi?id=52723
3068
3069         Extract all breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane.
3070
3071         * inspector/front-end/Breakpoint.js:
3072         (WebInspector.Breakpoint):
3073         (WebInspector.Breakpoint.prototype.get data):
3074         (WebInspector.Breakpoint.prototype.remove):
3075         * inspector/front-end/BreakpointsSidebarPane.js:
3076         (WebInspector.JavaScriptBreakpointsSidebarPane):
3077         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):
3078         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved):
3079         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointEnableChanged):
3080         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointItemCheckboxClicked):
3081         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenuEventFired):
3082         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
3083         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerResumed):
3084         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._addListElement):
3085         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeListElement):
3086         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._projectChanged):
3087         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compare):
3088         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
3089         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement.didGetSourceLine):
3090         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
3091         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointIdForDebuggerPausedEvent):
3092         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setBreakpointEnabled):
3093         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeBreakpoint):
3094         (WebInspector.NativeBreakpointsSidebarPane):
3095         (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
3096         * inspector/front-end/DebuggerModel.js:
3097         (WebInspector.DebuggerModel.prototype.removeBreakpoint):
3098         (WebInspector.DebuggerModel.prototype.breakpointForId):
3099         (WebInspector.DebuggerModel.prototype._pausedScript):
3100         (WebInspector.DebuggerModel.prototype._resumedScript):
3101         * inspector/front-end/ScriptsPanel.js:
3102         (WebInspector.ScriptsPanel):
3103         * inspector/front-end/inspector.js:
3104
3105 2011-01-20  Dirk Schulze  <krit@webkit.org>
3106
3107         Reviewed by Andreas Kling.
3108
3109         SVG Pattern doesn't take the viewBox of a referenced Pattern
3110         https://bugs.webkit.org/show_bug.cgi?id=52804
3111         
3112         SVGPattern element didn't use the viewBox of another SVGPattern element, referenced
3113         by xlink:href. Modified PatternAttributes, to take the value of the viewBox of the
3114         SVGPattern element as well, if the attribute was set.
3115         This gets checked by a W3C SVG test case.        
3116
3117         Test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg
3118
3119         * rendering/svg/RenderSVGResourcePattern.cpp:
3120         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
3121         * svg/PatternAttributes.h:
3122         (WebCore::PatternAttributes::PatternAttributes):
3123         (WebCore::PatternAttributes::viewBox):
3124         (WebCore::PatternAttributes::setViewBox):
3125         (WebCore::PatternAttributes::hasViewBox):
3126         * svg/SVGPatternElement.cpp:
3127         (WebCore::SVGPatternElement::collectPatternAttributes):
3128
3129 2011-01-19  Stephen White  <senorblanco@chromium.org>
3130
3131         [Re-land of r76159 with a compile fix for the Chromium linux shlib
3132         build.]
3133
3134         Reviewed by James Robinson.
3135
3136         Implement accelerated path drawing and clipping for the Canvas2D GPU
3137         path.
3138         https://bugs.webkit.org/show_bug.cgi?id=52627
3139         
3140         This is done with a simple curve interpolator and the GLU tesselator,
3141         which is good enough for a 3-5X speedup on
3142         http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
3143
3144         Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
3145         All tests canvas/philip and fast/canvas paths pass with no
3146         regressions, although two have minor pixel differences which require
3147         rebaselining.
3148
3149         * WebCore.gyp/WebCore.gyp:
3150         Add internal_glu include path to chromium build.
3151         * WebCore.gypi:
3152         Add internal_glu files to chromium build.
3153         * html/canvas/CanvasRenderingContext2D.cpp:
3154         (WebCore::CanvasRenderingContext2D::reset):
3155         (WebCore::CanvasRenderingContext2D::platformLayer):
3156         Make CanvasRenderingContext2D more robust against failure to create
3157         a DrawingBuffer.
3158         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3159         (WebCore::DrawingBuffer::DrawingBuffer):
3160         As in DrawingBufferMac.cpp, call reset() from the constructor.
3161         Also initialize size to (-1, -1), so reset() doesn't early-out.
3162         Add initializers for depthBuffer and stencilBuffer, and remove
3163         multisampleDepthStencilBuffer.
3164         * platform/graphics/chromium/GLES2Canvas.cpp:
3165         Remove some unused #includes.
3166         (WebCore::GLES2Canvas::State::State):
3167         Add clipping state, and implement save/restore via the copy constructor.
3168         (WebCore::operator*):
3169         (WebCore::Quadratic::Quadratic):
3170         (WebCore::Quadratic::fromBezier):
3171         (WebCore::Quadratic::evaluate):
3172         Quadratic Bezier curve class.
3173         (WebCore::Cubic::Cubic):
3174         (WebCore::Cubic::fromBezier):
3175         (WebCore::Cubic::evaluate):
3176         Cubic Bezier curve class.
3177         (WebCore::GLES2Canvas::clearRect):
3178         Add clipping support to clearRect().
3179         (WebCore::GLES2Canvas::fillPath):
3180         Implement fillPath().
3181         (WebCore::GLES2Canvas::fillRect):
3182         Add clipping support to fillRect().
3183         (WebCore::GLES2Canvas::clipPath):
3184         Implement clipPath().
3185         (WebCore::GLES2Canvas::clipOut):
3186         Stub out clipOut() (not called by Canvas 2D).
3187         (WebCore::GLES2Canvas::restore):
3188         When restoring, draw any remaining clipping paths to the stencil buffer.
3189         (WebCore::GLES2Canvas::drawTexturedRect):
3190         Add clipping support.
3191         (WebCore::interpolateQuadratic):
3192         (WebCore::interpolateCubic):
3193         Simple curve interpolation, using the Cubic and Quadratic classes.
3194         (WebCore::PolygonData::PolygonData):
3195         A struct to hold the tesselation data for callbacks.
3196         (WebCore::beginData):
3197         (WebCore::edgeFlagData):
3198         (WebCore::vertexData):
3199         (WebCore::endData):
3200         (WebCore::combineData):
3201         internal_glu tesselation callbacks.
3202         (WebCore::GLES2Canvas::createVertexBufferFromPath):
3203         Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
3204         (WebCore::GLES2Canvas::beginStencilDraw):
3205         Enable stencilling, and disable draws to the color buffer.
3206         (WebCore::GLES2Canvas::applyClipping):
3207         If clipping is enabled, set the appropriate GL state.
3208         * platform/graphics/chromium/GLES2Canvas.h:
3209         Document the flavours of drawTexturedRect() a bit, so I don't get confused.
3210         * platform/graphics/gpu/DrawingBuffer.cpp:
3211         (WebCore::DrawingBuffer::clear):
3212         (WebCore::DrawingBuffer::createSecondaryBuffers):
3213         (WebCore::DrawingBuffer::resizeDepthStencil):
3214         (WebCore::DrawingBuffer::reset):
3215         * platform/graphics/gpu/DrawingBuffer.h:
3216         Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
3217         Implement separate depth and stencil buffers for when
3218         OES_packed_depth_stencil is not available.  Refactor creation of
3219         multisampled and non-multisampled depth and stencil buffers into
3220         resizeDepthStencil().
3221         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3222         (WebCore::SharedGraphicsContext3D::create):
3223         Turn on stencil, turn off depth, turn off antialiasing (for now).
3224         (WebCore::SharedGraphicsContext3D::enableStencil):
3225         * platform/graphics/gpu/SharedGraphicsContext3D.h:
3226         Implement stencil enable/disable.
3227         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3228         (WebCore::DrawingBuffer::DrawingBuffer):
3229         Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
3230         on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
3231         and m_stencilBuffer.
3232         * platform/graphics/skia/GraphicsContextSkia.cpp:
3233         (WebCore::GraphicsContext::canvasClip):
3234         (WebCore::GraphicsContext::clipOut):
3235         (WebCore::GraphicsContext::clipPath):
3236         (WebCore::GraphicsContext::fillPath):
3237         Put in GPU hooks for path clipping, and path drawing.
3238         * platform/graphics/skia/PlatformContextSkia.cpp:
3239         (WebCore::PlatformContextSkia::canAccelerate):
3240         Don't check for clipping paths in canAccelerate() (since we can
3241         now accelerate them).
3242         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
3243         Don't do clipping when uploading software draws to hardware.
3244         * thirdparty/glu/README.webkit:
3245         * thirdparty/glu/gluos.h:
3246         #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
3247         * thirdparty/glu/libtess/geom.c:
3248         * thirdparty/glu/libtess/priorityq.c:
3249         * thirdparty/glu/libtess/render.c:
3250         Use do{}while(0) instead of if(1)else construct in macro.
3251         * thirdparty/glu/libtess/sweep.c:
3252         (IsWindingInside):
3253         (DoneEdgeDict):
3254         Fix some warnings treated as errors for the Linux Release build.
3255
3256
3257 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
3258
3259         Web Inspector: move releaseObjectGroup to the new Runtime agent.
3260         https://bugs.webkit.org/show_bug.cgi?id=52803
3261         (accedentally landed as r76231)
3262
3263         * inspector/InspectorContorller.h:
3264         * inspector/InspectorContorller.cpp:
3265         * inspector/InspectorRuntimeAgent.h:
3266         * inspector/InspectorRuntimeAgent.cpp:
3267
3268 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
3269
3270         Not reviewed: build fix.
3271
3272         * inspector/InspectorState.h:
3273         (WebCore::InspectorState::setBoolean):
3274         (WebCore::InspectorState::setString):
3275         (WebCore::InspectorState::setLong):
3276
3277 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
3278
3279         Reviewed by Yury Semikhatsky.
3280
3281         Web Inspector: further simplify InspectorState.
3282         https://bugs.webkit.org/show_bug.cgi?id=52731
3283
3284         This change moves XHR logging flag into console agent,
3285         removes InspectorState pushing to the front-end.
3286
3287         * inspector/Inspector.idl:
3288         * inspector/InspectorConsoleAgent.cpp:
3289         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
3290         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
3291         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
3292         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
3293         (WebCore::InspectorConsoleAgent::addConsoleMessage):
3294         * inspector/InspectorConsoleAgent.h:
3295         * inspector/InspectorController.cpp:
3296         (WebCore::InspectorController::InspectorController):
3297         * inspector/InspectorController.h:
3298         (WebCore::InspectorController::state):
3299         (WebCore::InspectorController::settings):
3300         * inspector/InspectorState.cpp:
3301         (WebCore::InspectorState::InspectorState):
3302         (WebCore::InspectorState::registerBoolean):
3303         (WebCore::InspectorState::registerString):
3304         (WebCore::InspectorState::registerLong):
3305         (WebCore::InspectorState::registerObject):
3306         (WebCore::InspectorState::Property::create):
3307         * inspector/InspectorState.h:
3308         * inspector/front-end/ConsoleView.js:
3309         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
3310         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
3311         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
3312         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
3313         * inspector/front-end/inspector.js:
3314
3315 2011-01-20  Csaba Osztrogonác  <ossy@webkit.org>
3316
3317         Unreviewed buildfix.
3318
3319         [Qt][V8] Remove unnecessary files after r76224.
3320
3321         * WebCore.pro:
3322
3323 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
3324
3325         Reviewed by Yury Semikhatsky.
3326
3327         Web Inspector: prepare for extracting InspectorAgent from InspectorController.
3328         https://bugs.webkit.org/show_bug.cgi?id=52797
3329
3330         * inspector/CodeGeneratorInspector.pm:
3331         * inspector/InspectorController.h:
3332         (WebCore::InspectorController::inspectorAgent):
3333         (WebCore::InspectorController::cssAgent):
3334         (WebCore::InspectorController::injectedScriptAgent):
3335         (WebCore::InspectorController::resourceAgent):
3336         (WebCore::InspectorController::runtimeAgent):
3337         (WebCore::InspectorController::timelineAgent):
3338         (WebCore::InspectorController::databaseAgent):
3339         (WebCore::InspectorController::domStorageAgent):
3340         (WebCore::InspectorController::fileSystemAgent):
3341         (WebCore::InspectorController::browserDebuggerAgent):
3342         (WebCore::InspectorController::debuggerAgent):
3343         (WebCore::InspectorController::profilerAgent):
3344         (WebCore::InspectorController::applicationCacheAgent):
3345
3346 2011-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3347
3348         Unreviewed, rolling out r76215.
3349         http://trac.webkit.org/changeset/76215
3350         https://bugs.webkit.org/show_bug.cgi?id=52799
3351
3352         Caused regressions in Chromium; morrita is going to look at it
3353         tomrorow (Requested by jorlow on #webkit).
3354
3355         * dom/TextEvent.h:
3356         * dom/TextEventInputType.h:
3357         * editing/CompositeEditCommand.cpp:
3358         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
3359         * editing/CompositeEditCommand.h:
3360         * editing/Editor.cpp:
3361         (WebCore::Editor::insertTextWithoutSendingTextEvent):
3362         (WebCore::Editor::confirmComposition):
3363         (WebCore::Editor::setComposition):
3364         * editing/Editor.h:
3365         * editing/InsertTextCommand.cpp:
3366         (WebCore::InsertTextCommand::input):
3367         * editing/InsertTextCommand.h:
3368         * editing/TypingCommand.cpp:
3369         (WebCore::TypingCommand::TypingCommand):
3370         (WebCore::TypingCommand::insertText):
3371         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
3372         * editing/TypingCommand.h:
3373         (WebCore::TypingCommand::create):
3374
3375 2010-12-14  Yury Semikhatsky  <yurys@chromium.org>
3376
3377         Reviewed by Adam Barth.
3378
3379         [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp
3380         https://bugs.webkit.org/show_bug.cgi?id=51044
3381
3382         * WebCore.gypi:
3383         * bindings/v8/V8ConsoleMessage.cpp: Removed.
3384         * bindings/v8/V8ConsoleMessage.h: Removed.
3385         * bindings/v8/V8DOMWindowShell.cpp:
3386         (WebCore::v8UncaughtExceptionHandler):
3387         (WebCore::reportUnsafeJavaScriptAccess):
3388         (WebCore::V8DOMWindowShell::initContextIfNeeded):
3389         * bindings/v8/V8Proxy.cpp:
3390         (WebCore::addMessageToConsole):
3391         (WebCore::logInfo):
3392         (WebCore::V8Proxy::reportUnsafeAccessTo):
3393         (WebCore::V8Proxy::runScript):
3394         (WebCore::V8Proxy::callFunction):
3395         (WebCore::V8Proxy::newInstance):
3396         * bindings/v8/V8Proxy.h:
3397         * bindings/v8/WorkerContextExecutionProxy.cpp:
3398         * bindings/v8/specialization/V8BindingState.cpp:
3399         (WebCore::::immediatelyReportUnsafeAccessTo):
3400
3401 2011-01-19  MORITA Hajime  <morrita@google.com>
3402
3403         Reviewed by Eric Seidel.
3404
3405         ShadowElement::m_shadowParent should be removed
3406         https://bugs.webkit.org/show_bug.cgi?id=52558
3407
3408         No new tests. No behavioral change.
3409
3410         * rendering/ShadowElement.h:
3411         (WebCore::ShadowElement::ShadowElement):
3412
3413 2011-01-20  Hans Wennborg  <hans@chromium.org>
3414
3415         Reviewed by Jeremy Orlow.
3416
3417         IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror
3418         https://bugs.webkit.org/show_bug.cgi?id=52725
3419
3420         Let IDBObjectStore.get() fire the onsuccess handler with the value
3421         'undefined' for when an object does not exist in the store.
3422
3423         Update SerializedScriptValue to provide such an undefined value.
3424
3425         * bindings/v8/SerializedScriptValue.cpp:
3426         (WebCore::SerializedScriptValue::nullValue):
3427         (WebCore::SerializedScriptValue::undefinedValue):
3428         * bindings/v8/SerializedScriptValue.h:
3429         * storage/IDBObjectStoreBackendImpl.cpp:
3430         (WebCore::IDBObjectStoreBackendImpl::getInternal):
3431
3432 2010-12-27  Yury Semikhatsky  <yurys@chromium.org>
3433
3434         Reviewed by Pavel Feldman.
3435
3436         WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
3437         https://bugs.webkit.org/show_bug.cgi?id=8519
3438
3439         Uncaught exceptions are propagated to window.onerror hander if one is present.
3440         The handler is expected to be a function accepting three arguments: error message,
3441         resource url and line number where the exception occured.
3442
3443         It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
3444         were created in the same isolated world where the exception occured or not.
3445
3446         Tests: fast/events/window-onerror1.html
3447                fast/events/window-onerror10.html
3448                fast/events/window-onerror11.html
3449                fast/events/window-onerror12.html
3450                fast/events/window-onerror2.html
3451                fast/events/window-onerror3.html
3452                fast/events/window-onerror4.html
3453                fast/events/window-onerror5.html
3454                fast/events/window-onerror6.html
3455                fast/events/window-onerror7.html
3456                fast/events/window-onerror8.html
3457                fast/events/window-onerror9.html
3458                http/tests/security/window-onerror-exception-in-iframe.html
3459                userscripts/window-onerror-for-isolated-world-1.html
3460                userscripts/window-onerror-for-isolated-world-2.html
3461
3462         * Android.jscbindings.mk:
3463         * CMakeLists.txt:
3464         * GNUmakefile.am:
3465         * WebCore.gypi:
3466         * WebCore.order:
3467         * WebCore.pro:
3468         * WebCore.vcproj/WebCore.vcproj:
3469         * WebCore.xcodeproj/project.pbxproj:
3470         * bindings/js/JSBindingsAllInOne.cpp:
3471         * bindings/js/JSDOMBinding.cpp:
3472         (WebCore::reportException):
3473         * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
3474         (WebCore::JSErrorHandler::JSErrorHandler):
3475         (WebCore::JSErrorHandler::~JSErrorHandler):
3476         (WebCore::JSErrorHandler::handleEvent):
3477         * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
3478         (WebCore::JSErrorHandler::create):
3479         (WebCore::createJSErrorHandler):
3480         * bindings/js/JSEventListener.h:
3481         * bindings/scripts/CodeGeneratorJS.pm:
3482         * bindings/scripts/CodeGeneratorV8.pm:
3483         * bindings/v8/V8ConsoleMessage.cpp:
3484         (WebCore::V8ConsoleMessage::dispatchNow):
3485         (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
3486         reporting mechanism which is also used by JSC bindings.
3487         * bindings/v8/V8ConsoleMessage.h:
3488         * bindings/v8/V8EventListener.h:
3489         * bindings/v8/V8WindowErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
3490         (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
3491         (WebCore::V8WindowErrorHandler::callListenerFunction):
3492         * bindings/v8/V8WindowErrorHandler.h: Copied from WebCore/dom/ErrorEvent.cpp.
3493         (WebCore::V8WindowErrorHandler::create):
3494         * bindings/v8/WorkerContextExecutionProxy.cpp:
3495         (WebCore::v8MessageHandler):
3496         * bindings/v8/WorkerScriptController.cpp:
3497         (WebCore::WorkerScriptController::evaluate):
3498         * dom/Document.cpp:
3499         (WebCore::Document::errorEventTarget):
3500         (WebCore::Document::logExceptionToConsole):
3501         (WebCore::Document::addMessage):
3502         * dom/Document.h:
3503         * dom/ErrorEvent.cpp:
3504         * dom/ErrorEvent.h:
3505         * dom/Event.cpp:
3506         (WebCore::Event::isErrorEvent):
3507         * dom/Event.h:
3508         * dom/ScriptExecutionContext.cpp:
3509         (WebCore::ScriptExecutionContext::PendingException::PendingException):
3510         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
3511         (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
3512         ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
3513         (WebCore::ScriptExecutionContext::dispatchErrorEvent):
3514         * dom/ScriptExecutionContext.h:
3515         * websockets/WebSocket.cpp:
3516         (WebCore::WebSocket::connect):
3517         * websockets/WebSocketChannel.cpp:
3518         (WebCore::WebSocketChannel::didOpen):
3519         (WebCore::WebSocketChannel::didFail):
3520         (WebCore::WebSocketChannel::appendToBuffer):
3521         * websockets/WebSocketHandshake.cpp:
3522         (WebCore::WebSocketHandshake::readServerHandshake):
3523         (WebCore::WebSocketHandshake::readStatusLine):
3524         (WebCore::WebSocketHandshake::readHTTPHeaders):
3525         (WebCore::WebSocketHandshake::checkResponseHeaders):
3526         * workers/DefaultSharedWorkerRepository.cpp:
3527         (WebCore::postExceptionTask):
3528         (WebCore::postConsoleMessageTask):
3529         * workers/WorkerContext.cpp:
3530         (WebCore::WorkerContext::WorkerContext):
3531         (WebCore::WorkerContext::errorEventTarget):
3532         (WebCore::WorkerContext::logExceptionToConsole):
3533         (WebCore::WorkerContext::addMessage):
3534         * workers/WorkerContext.h:
3535         * workers/WorkerMessagingProxy.cpp:
3536         (WebCore::WorkerExceptionTask::performTask):
3537         (WebCore::postConsoleMessageTask):
3538         * xml/XMLHttpRequest.cpp:
3539         (WebCore::reportUnsafeUsage):
3540
3541 2011-01-19  MORITA Hajime  <morrita@google.com>
3542
3543         Reviewed by Ryosuke Niwa.
3544
3545         Space and tab characters "sent" by an input method give totally different results than typing them directly
3546         https://bugs.webkit.org/show_bug.cgi?id=5241
3547         
3548         * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
3549           distinguish text input which is originated by composition.
3550         * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
3551           range of string on text node, instead of surrounding part of that.
3552
3553         Test: editing/inserting/insert-composition-whitespace.html
3554
3555         * dom/TextEvent.h:
3556         (WebCore::TextEvent::isComposition):
3557         * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
3558         * editing/CompositeEditCommand.cpp:
3559         (WebCore::containsOnlyWhitespace):
3560         (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
3561         (WebCore::CompositeEditCommand::canRebalance):
3562         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
3563         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
3564         * editing/CompositeEditCommand.h:
3565         * editing/Editor.cpp:
3566         (WebCore::Editor::insertTextForConfirmedComposition): Added.
3567         (WebCore::Editor::insertTextWithoutSendingTextEvent):
3568         (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
3569         (WebCore::Editor::setComposition):
3570         * editing/Editor.h:
3571         * editing/InsertTextCommand.cpp:
3572         (WebCore::InsertTextCommand::input):
3573         * editing/InsertTextCommand.h:
3574         * editing/TypingCommand.cpp:
3575         (WebCore::TypingCommand::TypingCommand):
3576         (WebCore::TypingCommand::insertText):
3577         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
3578         * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
3579         (WebCore::TypingCommand::setCompositionType): Added.
3580         (WebCore::TypingCommand::create):
3581
3582 2011-01-19  Dominic Cooney  <dominicc@google.com>
3583
3584         Reviewed by Kent Tamura.
3585
3586         Make <keygen> no longer appear to be a <select> element to script.
3587         https://bugs.webkit.org/show_bug.cgi?id=52557
3588
3589         The intent is to put <keygen> options into shadow DOM. This change
3590         takes the first step by hiding the <select> element from
3591         JavaScript.
3592
3593         Test: fast/dom/HTMLKeygenElement/keygen.html
3594
3595         * CMakeLists.txt: Adds new IDL-derived wrapper.
3596         * DerivedSources.cpp:
3597         * DerivedSources.make:
3598         * GNUmakefile.am:
3599         * WebCore.gypi:
3600         * WebCore.pri:
3601         * WebCore.vcproj/WebCore.vcproj:
3602         * WebCore.xcodeproj/project.pbxproj:
3603         * bindings/gobject/GNUmakefile.am:
3604         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
3605         (WebKit::createKeygenWrapper):
3606         (WebKit::createHTMLElementWrapper):
3607         * bindings/objc/DOM.mm:
3608         (WebCore::createElementClassMap): Keygen no longer DOMHTMLSelectElement
3609         * html/HTMLKeygenElement.h:
3610         (WebCore::HTMLKeygenElement::willValidate): Now public.
3611         * html/HTMLKeygenElement.idl: Added.
3612         * html/HTMLTagNames.in: Keygen's wrapper is HTMLKeygenElement.
3613         * page/DOMWindow.idl: Add HTMLKeygenElement constructor.
3614
3615 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
3616
3617         Unreviewed, rolling out r76203.
3618         http://trac.webkit.org/changeset/76203
3619         https://bugs.webkit.org/show_bug.cgi?id=52784
3620
3621         Broke Win compile on Chromium bots (Requested by dimich on
3622         #webkit).
3623
3624         * WebCore.gypi:
3625         * bindings/v8/V8DOMWindowShell.cpp:
3626         (WebCore::reportFatalErrorInV8):
3627         * page/PageGroup.cpp:
3628         (WebCore::PageGroup::isLinkVisited):
3629         * platform/android/PlatformBridge.h:
3630         * platform/audio/chromium/AudioBusChromium.cpp:
3631         (WebCore::createBusFromInMemoryAudioFile):
3632         * platform/chromium/ChromiumBridge.h: Added.
3633         * platform/chromium/ChromiumDataObjectLegacy.cpp:
3634         (WebCore::ChromiumDataObjectLegacy::getData):
3635         * platform/chromium/DragDataChromium.cpp:
3636         (WebCore::DragData::asURL):
3637         * platform/chromium/FileSystemChromium.cpp:
3638         (WebCore::deleteFile):
3639         (WebCore::deleteEmptyDirectory):
3640         (WebCore::getFileSize):
3641         (WebCore::getFileModificationTime):
3642         (WebCore::revealFolderInOS):
3643         (WebCore::directoryName):
3644         (WebCore::pathByAppendingComponent):
3645         (WebCore::makeAllDirectories):
3646         (WebCore::fileExists):
3647         (WebCore::openFile):
3648         (WebCore::closeFile):
3649         (WebCore::seekFile):
3650         (WebCore::truncateFile):
3651         (WebCore::readFromFile):
3652         (WebCore::writeToFile):
3653         * platform/chromium/LanguageChromium.cpp:
3654         (WebCore::platformDefaultLanguage):
3655         * platform/chromium/LinkHashChromium.cpp:
3656         (WebCore::visitedLinkHash):
3657         * platform/chromium/MIMETypeRegistryChromium.cpp:
3658         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3659         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
3660         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
3661         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
3662         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
3663         * platform/chromium/PasteboardChromium.cpp:
3664         (WebCore::Pasteboard::writeSelection):
3665         (WebCore::Pasteboard::writePlainText):
3666         (WebCore::Pasteboard::writeURL):
3667         (WebCore::Pasteboard::writeImage):
3668         (WebCore::Pasteboard::canSmartReplace):
3669         (WebCore::Pasteboard::plainText):
3670         (WebCore::Pasteboard::documentFragment):
3671         * platform/chromium/PlatformBridge.h:
3672         * platform/chromium/PlatformScreenChromium.cpp:
3673         (WebCore::screenDepth):
3674         (WebCore::screenDepthPerComponent):
3675         (WebCore::screenIsMonochrome):
3676         (WebCore::screenRect):
3677         (WebCore::screenAvailableRect):
3678         * platform/chromium/ReadableDataObject.cpp:
3679         (WebCore::ReadableDataObject::getData):
3680         (WebCore::ReadableDataObject::urlTitle):
3681         (WebCore::ReadableDataObject::htmlBaseUrl):
3682         (WebCore::ReadableDataObject::filenames):
3683         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
3684         * platform/chromium/SSLKeyGeneratorChromium.cpp:
3685         (WebCore::signedPublicKeyAndChallengeString):
3686         * platform/chromium/ScrollbarThemeChromium.cpp:
3687         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3688         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
3689         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
3690         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
3691         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
3692         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
3693         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
3694         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3695         (WebCore::scrollbarStateToThemeState):
3696         (WebCore::ScrollbarThemeChromiumMac::paint):
3697         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3698         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
3699         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
3700         (WebCore::ScrollbarThemeChromiumWin::paintButton):
3701         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
3702         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
3703         * platform/chromium/SharedTimerChromium.cpp:
3704         (WebCore::setSharedTimerFiredFunction):
3705         (WebCore::setSharedTimerFireTime):
3706         (WebCore::stopSharedTimer):
3707         * platform/chromium/SuddenTerminationChromium.cpp:
3708         (WebCore::disableSuddenTermination):
3709         (WebCore::enableSuddenTermination):
3710         * platform/chromium/SystemTimeChromium.cpp:
3711         (WebCore::currentTime):
3712         * platform/chromium/WritableDataObject.cpp:
3713         (WebCore::WritableDataObject::setData):
3714         * platform/graphics/chromium/CrossProcessFontLoading.mm:
3715         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
3716         (WebCore::fontContainsCharacter):
3717         (WebCore::FillLogFont):
3718         * platform/graphics/chromium/FontCacheLinux.cpp:
3719         (WebCore::FontCache::getFontDataForCharacters):
3720         * platform/graphics/chromium/FontChromiumWin.cpp:
3721         (WebCore::Font::drawGlyphs):
3722         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
3723         (WebCore::FontPlatformData::scriptFontProperties):
3724         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
3725         (WebCore::FontPlatformData::querySystemForRenderStyle):
3726         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
3727         (WebCore::fillBMPGlyphs):
3728         * platform/graphics/chromium/ImageChromium.cpp:
3729         (WebCore::Image::loadPlatformResource):
3730         * platform/graphics/chromium/ImageChromiumMac.mm:
3731         (WebCore::Image::loadPlatformResource):
3732         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
3733         (WebCore::SimpleFontData::platformInit):
3734         (WebCore::SimpleFontData::determinePitch):
3735         (WebCore::SimpleFontData::platformWidthForGlyph):
3736         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
3737         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
3738         * platform/graphics/skia/FontCustomPlatformData.cpp:
3739         (WebCore::FontCustomPlatformData::fontPlatformData):
3740         * platform/network/chromium/CookieJarChromium.cpp:
3741         (WebCore::setCookies):
3742         (WebCore::cookies):
3743         (WebCore::cookieRequestHeaderFieldValue):
3744         (WebCore::cookiesEnabled):
3745         (WebCore::getRawCookies):
3746         (WebCore::deleteCookie):
3747         * platform/network/chromium/DNSChromium.cpp:
3748         (WebCore::prefetchDNS):
3749         * platform/qt/PlatformBridge.h:
3750         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
3751         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
3752         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
3753         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
3754         (chromiumOpen):
3755         (chromiumDelete):
3756         (chromiumAccess):
3757         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
3758         * plugins/chromium/PluginDataChromium.cpp:
3759         (WebCore::PluginCache::plugins):
3760         * rendering/RenderThemeChromiumMac.mm:
3761         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
3762         * rendering/RenderThemeChromiumSkia.cpp:
3763         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
3764         * rendering/RenderThemeChromiumWin.cpp:
3765         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
3766         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
3767         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
3768         (WebCore::RenderThemeChromiumWin::systemColor):
3769         (WebCore::RenderThemeChromiumWin::paintButton):
3770         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
3771         (WebCore::menuListButtonWidth):
3772         (WebCore::RenderThemeChromiumWin::paintMenuList):
3773         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
3774         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
3775         (WebCore::RenderThemeChromiumWin::paintProgressBar):
3776         * storage/chromium/IDBFactoryBackendInterface.cpp:
3777         (WebCore::IDBFactoryBackendInterface::create):
3778         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
3779         * storage/chromium/IDBKeyPathBackendImpl.cpp:
3780         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
3781
3782 2011-01-19  Helder Correia  <helder@sencha.com>
3783
3784         Reviewed by Andreas Kling.
3785
3786         [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha
3787         https://bugs.webkit.org/show_bug.cgi?id=52705
3788
3789         This is related to bug 52611. The shadow color alpha must be multiplied
3790         by the context pen alpha. Fixing this results in correct behavior for
3791         Canvas path stroke() and strokeRect() [which relies on stroke()].
3792
3793         Tests: fast/canvas/canvas-strokePath-alpha-shadow.html
3794                fast/canvas/canvas-strokeRect-alpha-shadow.html
3795
3796         * platform/graphics/qt/GraphicsContextQt.cpp:
3797         (WebCore::GraphicsContext::strokePath):
3798
3799 2011-01-19  Darin Fisher  <darin@chromium.org>
3800
3801         Reviewed by Mihai Parparita.
3802
3803         Re-initialize the HistoryItem fully when navigating to a HistoryItem,
3804         or replacing a HistoryItem, results in a different URL.
3805
3806         https://bugs.webkit.org/show_bug.cgi?id=49654
3807
3808         This patch also forces all HistoryItems to record the post-redirect
3809         URL.  Previously, frames would remember the pre-redirect URL.  This is
3810         problematic since other members of the HistoryItem correspond to the
3811         post-redirect URL.
3812
3813         Tests: fast/history/history-replace-updates-current-item.html
3814                http/tests/navigation/redirect-on-back-updates-history-item.html
3815                http/tests/navigation/redirect-on-reload-updates-history-item.html
3816
3817         * history/HistoryItem.cpp:
3818         (WebCore::HistoryItem::HistoryItem):
3819         (WebCore::HistoryItem::reset):
3820         * history/HistoryItem.h:
3821         * loader/HistoryController.cpp:
3822         (WebCore::HistoryController::updateForBackForwardNavigation):
3823         (WebCore::HistoryController::updateForReload):
3824         (WebCore::HistoryController::updateForStandardLoad):
3825         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
3826         (WebCore::HistoryController::initializeItem):
3827         (WebCore::HistoryController::createItem):
3828         (WebCore::HistoryController::createItemTree):
3829         (WebCore::HistoryController::updateCurrentItem):
3830         * loader/HistoryController.h:
3831
3832 2011-01-19  Adam Klein  <adamk@chromium.org>
3833
3834         Reviewed by Darin Fisher.
3835
3836         [chromium] Rename ChromiumBridge to PlatformBridge
3837         https://bugs.webkit.org/show_bug.cgi?id=52471
3838
3839         No tests added as this is a rename; no change in behavior.
3840
3841         * WebCore.gypi:
3842         * bindings/v8/V8DOMWindowShell.cpp:
3843         (WebCore::reportFatalErrorInV8):
3844         * page/PageGroup.cpp:
3845         (WebCore::PageGroup::isLinkVisited):
3846         * platform/android/PlatformBridge.h:
3847         * platform/audio/chromium/AudioBusChromium.cpp:
3848         (WebCore::createBusFromInMemoryAudioFile):
3849         * platform/chromium/ChromiumBridge.h: Removed.
3850         * platform/chromium/ChromiumDataObjectLegacy.cpp:
3851         (WebCore::ChromiumDataObjectLegacy::getData):
3852         * platform/chromium/DragDataChromium.cpp:
3853         (WebCore::DragData::asURL):
3854         * platform/chromium/FileSystemChromium.cpp:
3855         (WebCore::deleteFile):
3856         (WebCore::deleteEmptyDirectory):
3857         (WebCore::getFileSize):
3858         (WebCore::getFileModificationTime):
3859         (WebCore::revealFolderInOS):
3860         (WebCore::directoryName):
3861         (WebCore::pathByAppendingComponent):
3862         (WebCore::makeAllDirectories):
3863         (WebCore::fileExists):
3864         (WebCore::openFile):
3865         (WebCore::closeFile):
3866         (WebCore::seekFile):
3867         (WebCore::truncateFile):
3868         (WebCore::readFromFile):
3869         (WebCore::writeToFile):
3870         * platform/chromium/LanguageChromium.cpp:
3871         (WebCore::platformDefaultLanguage):
3872         * platform/chromium/LinkHashChromium.cpp:
3873         (WebCore::visitedLinkHash):
3874         * platform/chromium/MIMETypeRegistryChromium.cpp:
3875         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3876         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
3877         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
3878         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
3879         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
3880         * platform/chromium/PasteboardChromium.cpp:
3881         (WebCore::Pasteboard::writeSelection):
3882         (WebCore::Pasteboard::writePlainText):
3883         (WebCore::Pasteboard::writeURL):
3884         (WebCore::Pasteboard::writeImage):
3885         (WebCore::Pasteboard::canSmartReplace):
3886         (WebCore::Pasteboard::plainText):
3887         (WebCore::Pasteboard::documentFragment):
3888         * platform/chromium/PlatformBridge.h:
3889         * platform/chromium/PlatformScreenChromium.cpp:
3890         (WebCore::screenDepth):
3891         (WebCore::screenDepthPerComponent):
3892         (WebCore::screenIsMonochrome):
3893         (WebCore::screenRect):
3894         (WebCore::screenAvailableRect):
3895         * platform/chromium/ReadableDataObject.cpp:
3896         (WebCore::ReadableDataObject::getData):
3897         (WebCore::ReadableDataObject::urlTitle):
3898         (WebCore::ReadableDataObject::htmlBaseUrl):
3899         (WebCore::ReadableDataObject::filenames):
3900         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
3901         * platform/chromium/SSLKeyGeneratorChromium.cpp:
3902         (WebCore::signedPublicKeyAndChallengeString):
3903         * platform/chromium/ScrollbarThemeChromium.cpp:
3904         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3905         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
3906         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
3907         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
3908         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
3909         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
3910         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
3911         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3912         (WebCore::scrollbarStateToThemeState):
3913         (WebCore::ScrollbarThemeChromiumMac::paint):
3914         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3915         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
3916         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
3917         (WebCore::ScrollbarThemeChromiumWin::paintButton):
3918         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
3919         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
3920         * platform/chromium/SharedTimerChromium.cpp:
3921         (WebCore::setSharedTimerFiredFunction):
3922         (WebCore::setSharedTimerFireTime):
3923         (WebCore::stopSharedTimer):
3924         * platform/chromium/SuddenTerminationChromium.cpp:
3925         (WebCore::disableSuddenTermination):
3926         (WebCore::enableSuddenTermination):
3927         * platform/chromium/SystemTimeChromium.cpp:
3928         (WebCore::currentTime):
3929         * platform/chromium/WritableDataObject.cpp:
3930         (WebCore::WritableDataObject::setData):
3931         * platform/graphics/chromium/CrossProcessFontLoading.mm:
3932         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
3933         (WebCore::fontContainsCharacter):
3934         (WebCore::FillLogFont):
3935         * platform/graphics/chromium/FontCacheLinux.cpp:
3936         (WebCore::FontCache::getFontDataForCharacters):
3937         * platform/graphics/chromium/FontChromiumWin.cpp:
3938         (WebCore::Font::drawGlyphs):
3939         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
3940         (WebCore::FontPlatformData::scriptFontProperties):
3941         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
3942         (WebCore::FontPlatformData::querySystemForRenderStyle):
3943         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
3944         (WebCore::fillBMPGlyphs):
3945         * platform/graphics/chromium/ImageChromium.cpp:
3946         (WebCore::Image::loadPlatformResource):
3947         * platform/graphics/chromium/ImageChromiumMac.mm:
3948         (WebCore::Image::loadPlatformResource):
3949         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
3950         (WebCore::SimpleFontData::platformInit):
3951         (WebCore::SimpleFontData::determinePitch):
3952         (WebCore::SimpleFontData::platformWidthForGlyph):
3953         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
3954         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
3955         * platform/graphics/skia/FontCustomPlatformData.cpp:
3956         (WebCore::FontCustomPlatformData::fontPlatformData):
3957         * platform/network/chromium/CookieJarChromium.cpp:
3958         (WebCore::setCookies):
3959         (WebCore::cookies):
3960         (WebCore::cookieRequestHeaderFieldValue):
3961         (WebCore::cookiesEnabled):
3962         (WebCore::getRawCookies):
3963         (WebCore::deleteCookie):
3964         * platform/network/chromium/DNSChromium.cpp:
3965         (WebCore::prefetchDNS):
3966         * platform/qt/PlatformBridge.h:
3967         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
3968         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
3969         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
3970         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
3971         (chromiumOpen):
3972         (chromiumDelete):
3973         (chromiumAccess):
3974         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
3975         * plugins/chromium/PluginDataChromium.cpp:
3976         (WebCore::PluginCache::plugins):
3977         * rendering/RenderThemeChromiumMac.mm:
3978         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
3979         * rendering/RenderThemeChromiumSkia.cpp:
3980         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
3981         * rendering/RenderThemeChromiumWin.cpp:
3982         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
3983         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
3984         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
3985         (WebCore::RenderThemeChromiumWin::systemColor):
3986         (WebCore::RenderThemeChromiumWin::paintButton):
3987         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
3988         (WebCore::menuListButtonWidth):
3989         (WebCore::RenderThemeChromiumWin::paintMenuList):
3990         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
3991         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
3992         (WebCore::RenderThemeChromiumWin::paintProgressBar):
3993         * storage/chromium/IDBFactoryBackendInterface.cpp:
3994         (WebCore::IDBFactoryBackendInterface::create):
3995         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
3996         * storage/chromium/IDBKeyPathBackendImpl.cpp:
3997         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
3998
3999 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
4000
4001         Unreviewed, rolling out r76187.
4002         http://trac.webkit.org/changeset/76187
4003         https://bugs.webkit.org/show_bug.cgi?id=52778
4004
4005         Broke caret-showing tests on SnowLeopard and Chromium
4006         (Requested by dimich on #webkit).
4007
4008         * rendering/RenderText.cpp:
4009         (WebCore::RenderText::localCaretRect):
4010