Clean up PlatformCAAnimationWin
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-01-21  Adam Roben  <aroben@apple.com>
2
3         Clean up PlatformCAAnimationWin
4
5         Fixes <http://webkit.org/b/52904> PlatformCAAnimationWin is leaky and inefficient
6
7         Reviewed by Simon Fraser.
8
9         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
10         (toCACFFillModeType):
11         (fromCACFFillModeType):
12         (toCACFValueFunctionType):
13         (fromCACFValueFunctionType):
14         Changed to take and return CFStringRefs. There's no need to convert to WebCore::String just
15         so we can later convert back to CFStringRef.
16
17         (toCACFTimingFunction): Fixed leaks by changing this to return a RetainPtr and adopting the
18         results of CACFTimingFunctionCreate.
19         (PlatformCAAnimation::PlatformCAAnimation): Changed not to needlessly roundtrip through
20         WebCore::String. Also changed an ASSERT(0) to ASSERT_NOT_REACHED().
21
22         (PlatformCAAnimation::setFillMode):
23         (PlatformCAAnimation::setTimingFunction):
24         (PlatformCAAnimation::setValueFunction):
25         (PlatformCAAnimation::setTimingFunctions):
26         Updated for changes to the above conversion functions.
27
28 2011-01-21  Charlie Reis  <creis@chromium.org>
29
30         Reviewed by Darin Fisher.
31
32         FrameLoader::checkLoadCompleteForThisFrame uses wrong history item
33         https://bugs.webkit.org/show_bug.cgi?id=48812
34
35         Most calls to stopAllLoaders now clear the history's provisional item(s).
36         We can now avoid resetting the back/forward state if a new navigation
37         is in progress.
38
39         Test: http/tests/navigation/back-twice-without-commit.html
40         Test: http/tests/navigation/forward-and-cancel.html
41
42         * loader/FrameLoader.cpp:
43         * loader/FrameLoader.h:
44         * loader/FrameLoaderTypes.h:
45         * WebCore.exp.in: Update stopAllLoaders signature.
46
47 2011-01-21  Carlos Garcia Campos  <cgarcia@igalia.com>
48
49         Reviewed by Martin Robinson.
50
51         [GTK] Show caps lock indicator in password fields
52         https://bugs.webkit.org/show_bug.cgi?id=52878
53
54         Test: manual-tests/password-caps-lock.html
55
56         * platform/gtk/KeyEventGtk.cpp:
57         (WebCore::PlatformKeyboardEvent::currentCapsLockState): Implement
58         currentCapsLockState() using GDK API.
59         * platform/gtk/RenderThemeGtk.cpp:
60         (WebCore::RenderThemeGtk::paintCapsLockIndicator): Paint an icon
61         in the password field when the caps lock modifier is locked.
62         * platform/gtk/RenderThemeGtk.h:
63
64 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
65
66         Reviewed by Pavel Feldman.
67
68         Web Inspector: move sticky breakpoints management from InspectorController to InspectorBrowserDebuggerAgent.
69         https://bugs.webkit.org/show_bug.cgi?id=52874
70
71         This is the first step of debugger api refactoring (see bug 52879).
72         JavaScript breakpoints are still in the same list as native breakpoints and are restored by InspectorBrowserDebuggerAgent.
73         The second step will be to move sticky JavaScript breakpoints to InspectorDebuggerAgent.
74
75         * inspector/Inspector.idl:
76         * inspector/InspectorBrowserDebuggerAgent.cpp:
77         (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
78         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
79         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
80         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
81         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
82         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
83         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
84         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
85         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
86         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
87         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
88         * inspector/InspectorBrowserDebuggerAgent.h:
89         * inspector/InspectorController.cpp:
90         (WebCore::InspectorController::restoreInspectorStateFromCookie):
91         (WebCore::InspectorController::connectFrontend):
92         (WebCore::InspectorController::didCommitLoad):
93         (WebCore::InspectorController::enableDebugger):
94         (WebCore::InspectorController::resume):
95         (WebCore::InspectorController::inspectedURL):
96         * inspector/InspectorController.h:
97         * inspector/InspectorState.cpp:
98         (WebCore::InspectorState::InspectorState):
99         * inspector/InspectorState.h:
100         * inspector/front-end/BreakpointManager.js:
101         (WebInspector.BreakpointManager):
102         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
103
104 2011-01-21  John Knottenbelt  <jknotten@chromium.org>
105
106         Reviewed by Jeremy Orlow.
107
108         Turn off uninitialized errors for ARM linux build.
109         https://bugs.webkit.org/show_bug.cgi?id=52893
110
111         Fix ARM compiler breakage.
112
113         * WebCore.gyp/WebCore.gyp:
114
115 2011-01-21  Mikhail Naganov  <mnaganov@chromium.org>
116
117         Reviewed by Yury Semikhatsky.
118
119         Web Inspector: [Chromium] REGRESSION: Using the "Back" button
120         while profiling causes renderer crash.
121
122         https://bugs.webkit.org/show_bug.cgi?id=52808
123
124         * inspector/InspectorProfilerAgent.cpp:
125         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
126         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
127
128 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
129
130         Reviewed by Pavel Feldman.
131
132         Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
133
134         There are some places in WebCore where we still using direct InspectorController calls.
135         The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
136         Inspector facade for WebCore.
137
138         https://bugs.webkit.org/show_bug.cgi?id=52869
139
140         * inspector/InspectorController.cpp:
141         * inspector/InspectorController.h:
142         * inspector/InspectorInstrumentation.cpp:
143         (WebCore::InspectorInstrumentation::addProfileImpl):
144         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
145         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
146         * inspector/InspectorInstrumentation.h:
147         (WebCore::InspectorInstrumentation::addProfile):
148         (WebCore::InspectorInstrumentation::profilerEnabled):
149         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
150         * page/Console.cpp:
151         (WebCore::Console::profile):
152         (WebCore::Console::profileEnd):
153
154 2011-01-12  Pavel Podivilov  <podivilov@chromium.org>
155
156         Reviewed by Pavel Feldman.
157
158         Web Inspector: breakpoints are restored incorrectly when reverting live edit.
159         https://bugs.webkit.org/show_bug.cgi?id=52300
160
161         Fix breakpoints restoring when reverting to old revision by using text diff.
162         Move live edit logic from ScriptsPanel to DebuggerModel.
163         Eliminate unnecessary editLine delegate in TextViewer.
164
165         * inspector/front-end/DebuggerModel.js:
166         (WebInspector.DebuggerModel):
167         (WebInspector.DebuggerModel.prototype.reset):
168         (WebInspector.DebuggerModel.prototype.editScriptSource):
169         (WebInspector.DebuggerModel.prototype._updateScriptSource):
170         (WebInspector.DebuggerModel.prototype.get callFrames):
171         (WebInspector.DebuggerModel.prototype.pausedScript):
172         (WebInspector.DebuggerModel.prototype.resumedScript):
173         * inspector/front-end/Script.js:
174         (WebInspector.Script.prototype.get source):
175         * inspector/front-end/ScriptView.js:
176         (WebInspector.ScriptView):
177         * inspector/front-end/ScriptsPanel.js:
178         (WebInspector.ScriptsPanel):
179         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
180         * inspector/front-end/SourceFrame.js:
181         (WebInspector.SourceFrame):
182         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
183         (WebInspector.SourceFrame.prototype._doubleClick.didEditLine):
184         (WebInspector.SourceFrame.prototype._doubleClick):
185         * inspector/front-end/SourceView.js:
186         (WebInspector.SourceView):
187         * inspector/front-end/TextViewer.js:
188         (WebInspector.TextViewer):
189         (WebInspector.TextViewer.prototype._handleKeyDown):
190         (WebInspector.TextViewer.prototype.editLine.finishEditing):
191         (WebInspector.TextViewer.prototype.editLine):
192         (WebInspector.TextChunk.prototype._createRow):
193
194 2011-01-21  Adam Klein  <adamk@chromium.org>
195
196         Reviewed by Eric Seidel.
197
198         [chromium] Rename ChromiumBridge to PlatformBridge
199         https://bugs.webkit.org/show_bug.cgi?id=52471
200
201         No tests added as this is a rename; no change in behavior.
202
203         * WebCore.gypi:
204         * bindings/v8/V8DOMWindowShell.cpp:
205         (WebCore::reportFatalErrorInV8):
206         * page/PageGroup.cpp:
207         (WebCore::PageGroup::isLinkVisited):
208         * platform/android/PlatformBridge.h:
209         * platform/audio/chromium/AudioBusChromium.cpp:
210         (WebCore::createBusFromInMemoryAudioFile):
211         * platform/chromium/ChromiumBridge.h: Removed.
212         * platform/chromium/ChromiumDataObjectLegacy.cpp:
213         (WebCore::ChromiumDataObjectLegacy::getData):
214         * platform/chromium/DragDataChromium.cpp:
215         (WebCore::DragData::asURL):
216         * platform/chromium/FileSystemChromium.cpp:
217         (WebCore::deleteFile):
218         (WebCore::deleteEmptyDirectory):
219         (WebCore::getFileSize):
220         (WebCore::getFileModificationTime):
221         (WebCore::revealFolderInOS):
222         (WebCore::directoryName):
223         (WebCore::pathByAppendingComponent):
224         (WebCore::makeAllDirectories):
225         (WebCore::fileExists):
226         (WebCore::openFile):
227         (WebCore::closeFile):
228         (WebCore::seekFile):
229         (WebCore::truncateFile):
230         (WebCore::readFromFile):
231         (WebCore::writeToFile):
232         * platform/chromium/LanguageChromium.cpp:
233         (WebCore::platformDefaultLanguage):
234         * platform/chromium/LinkHashChromium.cpp:
235         (WebCore::visitedLinkHash):
236         * platform/chromium/MIMETypeRegistryChromium.cpp:
237         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
238         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
239         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
240         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
241         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
242         * platform/chromium/PasteboardChromium.cpp:
243         (WebCore::Pasteboard::writeSelection):
244         (WebCore::Pasteboard::writePlainText):
245         (WebCore::Pasteboard::writeURL):
246         (WebCore::Pasteboard::writeImage):
247         (WebCore::Pasteboard::canSmartReplace):
248         (WebCore::Pasteboard::plainText):
249         (WebCore::Pasteboard::documentFragment):
250         * platform/chromium/PlatformBridge.h:
251         * platform/chromium/PlatformScreenChromium.cpp:
252         (WebCore::screenDepth):
253         (WebCore::screenDepthPerComponent):
254         (WebCore::screenIsMonochrome):
255         (WebCore::screenRect):
256         (WebCore::screenAvailableRect):
257         * platform/chromium/ReadableDataObject.cpp:
258         (WebCore::ReadableDataObject::getData):
259         (WebCore::ReadableDataObject::urlTitle):
260         (WebCore::ReadableDataObject::htmlBaseUrl):
261         (WebCore::ReadableDataObject::filenames):
262         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
263         * platform/chromium/SSLKeyGeneratorChromium.cpp:
264         (WebCore::signedPublicKeyAndChallengeString):
265         * platform/chromium/ScrollbarThemeChromium.cpp:
266         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
267         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
268         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
269         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
270         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
271         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
272         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
273         * platform/chromium/ScrollbarThemeChromiumMac.mm:
274         (WebCore::scrollbarStateToThemeState):
275         (WebCore::ScrollbarThemeChromiumMac::paint):
276         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
277         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
278         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
279         (WebCore::ScrollbarThemeChromiumWin::paintButton):
280         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
281         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
282         * platform/chromium/SharedTimerChromium.cpp:
283         (WebCore::setSharedTimerFiredFunction):
284         (WebCore::setSharedTimerFireTime):
285         (WebCore::stopSharedTimer):
286         * platform/chromium/SuddenTerminationChromium.cpp:
287         (WebCore::disableSuddenTermination):
288         (WebCore::enableSuddenTermination):
289         * platform/chromium/SystemTimeChromium.cpp:
290         (WebCore::currentTime):
291         * platform/chromium/WritableDataObject.cpp:
292         (WebCore::WritableDataObject::setData):
293         * platform/graphics/chromium/CrossProcessFontLoading.mm:
294         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
295         (WebCore::fontContainsCharacter):
296         (WebCore::FillLogFont):
297         * platform/graphics/chromium/FontCacheLinux.cpp:
298         (WebCore::FontCache::getFontDataForCharacters):
299         * platform/graphics/chromium/FontChromiumWin.cpp:
300         (WebCore::Font::drawGlyphs):
301         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
302         (WebCore::FontPlatformData::scriptFontProperties):
303         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
304         (WebCore::FontPlatformData::querySystemForRenderStyle):
305         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
306         (WebCore::fillBMPGlyphs):
307         * platform/graphics/chromium/ImageChromium.cpp:
308         (WebCore::Image::loadPlatformResource):
309         * platform/graphics/chromium/ImageChromiumMac.mm:
310         (WebCore::Image::loadPlatformResource):
311         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
312         (WebCore::SimpleFontData::platformInit):
313         (WebCore::SimpleFontData::determinePitch):
314         (WebCore::SimpleFontData::platformWidthForGlyph):
315         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
316         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
317         * platform/graphics/skia/FontCustomPlatformData.cpp:
318         (WebCore::FontCustomPlatformData::fontPlatformData):
319         * platform/network/chromium/CookieJarChromium.cpp:
320         (WebCore::setCookies):
321         (WebCore::cookies):
322         (WebCore::cookieRequestHeaderFieldValue):
323         (WebCore::cookiesEnabled):
324         (WebCore::getRawCookies):
325         (WebCore::deleteCookie):
326         * platform/network/chromium/DNSChromium.cpp:
327         (WebCore::prefetchDNS):
328         * platform/qt/PlatformBridge.h:
329         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
330         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
331         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
332         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
333         (chromiumOpen):
334         (chromiumDelete):
335         (chromiumAccess):
336         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
337         * plugins/chromium/PluginDataChromium.cpp:
338         (WebCore::PluginCache::plugins):
339         * rendering/RenderThemeChromiumMac.mm:
340         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
341         * rendering/RenderThemeChromiumSkia.cpp:
342         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
343         * rendering/RenderThemeChromiumWin.cpp:
344         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
345         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
346         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
347         (WebCore::RenderThemeChromiumWin::systemColor):
348         (WebCore::RenderThemeChromiumWin::paintButton):
349         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
350         (WebCore::menuListButtonWidth):
351         (WebCore::RenderThemeChromiumWin::paintMenuList):
352         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
353         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
354         (WebCore::RenderThemeChromiumWin::paintProgressBar):
355         * storage/chromium/IDBFactoryBackendInterface.cpp:
356         (WebCore::IDBFactoryBackendInterface::create):
357         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
358         * storage/chromium/IDBKeyPathBackendImpl.cpp:
359         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
360
361 2011-01-21  Sheriff Bot  <webkit.review.bot@gmail.com>
362
363         Unreviewed, rolling out r76335.
364         http://trac.webkit.org/changeset/76335
365         https://bugs.webkit.org/show_bug.cgi?id=52875
366
367         profiler tests were broken (Requested by loislo on #webkit).
368
369         * inspector/InspectorController.cpp:
370         (WebCore::InspectorController::addProfile):
371         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
372         * inspector/InspectorController.h:
373         * inspector/InspectorInstrumentation.cpp:
374         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
375         * inspector/InspectorInstrumentation.h:
376         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
377         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
378         * page/Console.cpp:
379         (WebCore::Console::profile):
380         (WebCore::Console::profileEnd):
381
382 2011-01-21  Ilya Tikhonovsky  <loislo@chromium.org>
383
384         Reviewed by Yury Semikhatsky.
385
386         Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
387
388         There are some places in WebCore where we still using direct InspectorController calls.
389         The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
390         Inspector facade for WebCore.
391
392         https://bugs.webkit.org/show_bug.cgi?id=52869
393
394         * inspector/InspectorController.cpp:
395         * inspector/InspectorController.h:
396         * inspector/InspectorInstrumentation.cpp:
397         (WebCore::InspectorInstrumentation::addProfileImpl):
398         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
399         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
400         * inspector/InspectorInstrumentation.h:
401         (WebCore::InspectorInstrumentation::addProfile):
402         (WebCore::InspectorInstrumentation::profilerEnabled):
403         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
404         * page/Console.cpp:
405         (WebCore::Console::profile):
406         (WebCore::Console::profileEnd):
407
408 2011-01-20  Sam Weinig  <sam@webkit.org>
409
410         Reviewed by Gavin Barraclough.
411
412         Fix failing tests from r76291.
413
414         * platform/ScrollView.cpp:
415         (WebCore::ScrollView::scrollPosition):
416         (WebCore::ScrollView::updateScrollbars):
417         Take the scroll origin into account in more places.
418
419 2011-01-20  Kent Tamura  <tkent@chromium.org>
420
421         Unreviewed, sorting an Xcode project file.
422
423         * WebCore.xcodeproj/project.pbxproj:
424
425 2011-01-20  Ben Vanik  <ben.vanik@gmail.com>
426
427         Reviewed by Kenneth Russell.
428
429         Implementation of the OES_standard_derivatives WebGL extension.
430         https://bugs.webkit.org/show_bug.cgi?id=51678
431
432         Changes are modeled off of the existing OESTextureFloat extension. New files,
433         extension retrieval, etc all match the existing code.
434
435         Changed ANGLEWebKitBridge to allow for multiple sets of the ANGLE shader compiler
436         options. This supports the enabling of the standard derivatives flag when the
437         extension is enabled. Refactored the cleanup code to make the destruction of the
438         compilers (if they had been created) cleaner.
439
440         Tested with the WebGL conformance test:
441         https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-standard-derivatives.html
442         Passes on WebKit/OSX, Chromium/OSX, and Chromium/Windows.
443
444         * CMakeLists.txt:
445         * DerivedSources.make:
446         * GNUmakefile.am:
447         * WebCore.gypi:
448         * WebCore.pri:
449         * WebCore.pro:
450         * WebCore.xcodeproj/project.pbxproj:
451         * bindings/js/JSWebGLRenderingContextCustom.cpp:
452         (WebCore::toJS):
453         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
454         (WebCore::toV8Object):
455         * html/canvas/OESStandardDerivatives.cpp: Added.
456         (WebCore::OESStandardDerivatives::OESStandardDerivatives):
457         (WebCore::OESStandardDerivatives::~OESStandardDerivatives):
458         (WebCore::OESStandardDerivatives::getName):
459         (WebCore::OESStandardDerivatives::create):
460         * html/canvas/OESStandardDerivatives.h: Added.
461         * html/canvas/OESStandardDerivatives.idl: Added.
462         * html/canvas/WebGLExtension.h:
463         * html/canvas/WebGLRenderingContext.cpp:
464         (WebCore::WebGLRenderingContext::getExtension): Enable and return the new extension.
465         (WebCore::WebGLRenderingContext::getParameter): Support extension enum when enabled.
466         (WebCore::WebGLRenderingContext::getSupportedExtensions): 
467         (WebCore::WebGLRenderingContext::hint): Validate extension enum when enabled.
468         (WebCore::WebGLRenderingContext::getNumberOfExtensions):
469         (WebCore::WebGLRenderingContext::getExtensionNumber):
470         * html/canvas/WebGLRenderingContext.h:
471         * platform/graphics/ANGLEWebKitBridge.cpp:
472         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Cleaned up compiler cleanup.
473         (WebCore::ANGLEWebKitBridge::cleanupCompilers): Destruct compilers.
474         (WebCore::ANGLEWebKitBridge::setResources): Cleanup existing compilers when changing
475         ANGLE settings.
476         (WebCore::ANGLEWebKitBridge::validateShaderSource): Cleaned up compiler cleanup on error.
477         * platform/graphics/ANGLEWebKitBridge.h:
478         (WebCore::ANGLEWebKitBridge::getResources):
479         * platform/graphics/Extensions3D.h: Added enumeration for the extension.
480         * platform/graphics/GraphicsContext3D.h: lumbing for GraphicsContext3D.
481         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
482         (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Plumbed through a pointer to the
483         GraphicsContext3D to handle resetting the shader compilers.
484         (WebCore::Extensions3DOpenGL::supports): Desktop GL always supports this extension,
485         so always return true.
486         (WebCore::Extensions3DOpenGL::ensureEnabled): Reset shader compilers as required.
487         * platform/graphics/opengl/Extensions3DOpenGL.h: Plumbing for GraphicsContext3D.
488         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
489         (WebCore::GraphicsContext3D::getExtensions): Plumbing for GraphicsContext3D to
490         Extensions3DOpenGL.
491
492 2011-01-20  Xiaomei Ji  <xji@chromium.org>
493
494         Reviewed by Dan Bernstein.
495
496         Fix regression(r71566): PDF in RTL block might messes up text directionality.
497         https://bugs.webkit.org/show_bug.cgi?id=52776
498
499         Test: fast/dom/52776.html
500
501         * platform/text/BidiResolver.h:
502         (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
503         (WebCore::::lowerExplicitEmbeddingLevel):
504         (WebCore::::raiseExplicitEmbeddingLevel):
505         (WebCore::::createBidiRunsForLine):
506
507 2011-01-20  Beth Dakin  <bdakin@apple.com>
508
509         Reviewed by Anders Carlsson.
510
511         Follow-on for <rdar://problem/8890255>
512
513         This fixes a painting error with ScrollbarPainter scrollers
514         and the new drawing area code path.
515         * platform/mac/ScrollbarThemeMac.mm:
516         (WebCore::updateArrowPlacement):
517
518 2011-01-20  Levi Weintraub  <leviw@chromium.org>
519
520         Unreviewed.
521
522         Fixing build breakage.
523
524         * editing/SelectionController.cpp:
525         (WebCore::SelectionController::willBeModified):
526
527 2011-01-20  Levi Weintraub  <leviw@chromium.org>
528
529         Reviewed by Ryosuke Niwa.
530
531         RTL: Caret goes to the opposite direction when pressing an arrow key after selection is made
532         https://bugs.webkit.org/show_bug.cgi?id=49511
533
534         Test: editing/selection/rtl-move-selection-right-left.html
535
536         * editing/SelectionController.cpp:
537         (WebCore::SelectionController::willBeModified):
538         Respecting the direction of the containing block when switching selection base and extent in
539         RTL content.
540
541         (WebCore::SelectionController::modifyMovingRight):
542         (WebCore::SelectionController::modifyMovingLeft):
543         Using directionOfEnclosingBlock when deciding to use the selection start or end to do the
544         correct thing for RTL.
545
546 2011-01-20  Nate Chapin  <japhet@chromium.org>
547
548         Reviewed by Adam Barth.
549
550         Null-check m_frame in DOMWindow::setLocation(), since it's
551         possible to reach this point without it having been checked
552         already.
553         https://bugs.webkit.org/show_bug.cgi?id=52769
554
555         Test: fast/dom/Window/Location/set-location-after-close.html
556
557         * page/DOMWindow.cpp:
558         (WebCore::DOMWindow::setLocation):
559
560 2011-01-20  Chang Shu  <chang.shu@nokia.com>
561
562         Reviewed by Darin Adler.
563
564         setContentEditable with invalid string should throw exception.
565         https://bugs.webkit.org/show_bug.cgi?id=52057
566
567         Implemented exception throwing for setContentEditable according to the following spec:
568         http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#attr-contenteditable
569         Related quotas: "On setting, if the new value is an ASCII case-insensitive match for the 
570         string 'inherit' then the content attribute must be removed, if the new value is an ASCII 
571         case-insensitive match for the string 'true' then the content attribute must be set to the 
572         string 'true', if the new value is an ASCII case-insensitive match for the string 'false' 
573         then the content attribute must be set to the string 'false', and otherwise the attribute 
574         setter must raise a SYNTAX_ERR exception."
575
576         * html/HTMLElement.cpp:
577         (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.
578         * html/HTMLElement.h: Add additional parameter ExceptionCode& for function setContentEditable.
579         * html/HTMLElement.idl: Add exception throwing support for contentEditable setter.
580
581 2011-01-19  Adrienne Walker  <enne@google.com>
582
583         Reviewed by James Robinson.
584
585         [chromium] Composited render surfaces should allow writes to alpha channel.
586         https://bugs.webkit.org/show_bug.cgi?id=52766
587
588         Test: LayoutTests/platform/chromium/compositing
589
590         * platform/graphics/chromium/LayerRendererChromium.cpp:
591         (WebCore::LayerRendererChromium::drawLayers):
592
593 2011-01-14  Jer Noble  <jer.noble@apple.com>
594
595         Reviewed by Eric Carlson.
596
597         REGRESSION (r71842): Compass video is not playing in Safari welcome page
598         https://bugs.webkit.org/show_bug.cgi?id=52506
599
600         New test: LayoutTests/media/video-currentTime-delay.html
601
602         Call invalidateCachedTime() every time one of the cached property dependencies changes,
603         i.e. m_paused and m_playbackRate.
604
605         * html/HTMLMediaElement.cpp:
606         (WebCore::HTMLMediaElement::prepareForLoad):
607         (WebCore::HTMLMediaElement::setReadyState):
608         (WebCore::HTMLMediaElement::setPlaybackRate):
609         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
610
611 2011-01-20  Beth Dakin  <bdakin@apple.com>
612
613         Reviewed by Geoffrey Garen.
614
615         Fix for <rdar://problem/8890255>
616
617         Allow WebKitSystemInterface to draw scrollbars 
618         when appropriate.
619         * WebCore.exp.in:
620         * platform/mac/ScrollbarThemeMac.mm:
621         (WebCore::scrollbarMap):
622         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
623         (WebCore::ScrollbarThemeMac::registerScrollbar):
624         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
625         (WebCore::ScrollbarThemeMac::paint):
626         * platform/mac/WebCoreSystemInterface.h:
627         * platform/mac/WebCoreSystemInterface.mm:
628
629 2011-01-20  Sam Weinig  <sam@webkit.org>
630
631         Reviewed by Dave Hyatt.
632
633         Cleanup Scrollbar/ScrollbarClient relationship
634         https://bugs.webkit.org/show_bug.cgi?id=52779
635
636         Pipe all scrolling through the ScrollbarClient/ScrollAnimator
637         rather than through the Scrollbar. The Scrollbar now is just
638         a "view" on the scroll position of the scrollable area it is
639         attached to.
640
641         There are now two ways to scroll a scrollable area:
642         - ScrollbarClient::scroll()
643         - ScrollbarClient::scrollToOffsetWithoutAnimation()
644
645         Both of these go through the ScrollAnimator (updating its state
646         or starting an animation). The ScrollAnimator, in turn, now calls
647         ScrollbarClient::setScrollOffsetFromAnimation, which tells the
648         Scrollbars to pull a new offset (via Scrollbar::offsetDidChange)
649         and tells the class that derives from ScrollbarClient to scroll
650         its contents (via ScrollbarClient::setScrollOffset).
651
652         * WebCore.xcodeproj/project.pbxproj:
653         Move Scrollbar.cpp to the right place.
654
655         * accessibility/AccessibilityScrollbar.cpp:
656         (WebCore::AccessibilityScrollbar::setValue):
657         Initiate the scroll through the scrollbar client, rather than the
658         scrollbar itself.
659
660         * page/FrameView.cpp:
661         (WebCore::FrameView::scrollTo):
662         * page/FrameView.h:
663         Condense the two valueChanged overrides to a single override of the
664         scrollTo function.
665
666         * platform/ScrollAnimator.cpp:
667         (WebCore::ScrollAnimator::scroll):
668         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
669         (WebCore::ScrollAnimator::currentPosition):
670         (WebCore::ScrollAnimator::notityPositionChanged):
671         * platform/ScrollAnimator.h:
672         * platform/ScrollAnimatorWin.cpp:
673         (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
674         (WebCore::ScrollAnimatorWin::animateScroll):
675         * platform/ScrollAnimatorWin.h:
676         * platform/mac/ScrollAnimatorMac.h:
677         * platform/mac/ScrollAnimatorMac.mm:
678         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
679         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
680         Change setScrollPositionAndStopAnimation to scrollToOffsetWithoutAnimation
681         and bottleneck all client notification of changed position through a new
682         notityPositionChanged() function.
683
684         * platform/ScrollView.cpp:
685         (WebCore::ScrollView::setScrollOffset):
686         (WebCore::ScrollView::scrollTo):
687         (WebCore::ScrollView::scrollPosition):
688         (WebCore::ScrollView::scroll):
689         (WebCore::ScrollView::updateScrollbars):
690         (WebCore::ScrollView::wheelEvent):
691         * platform/ScrollView.h:
692         (WebCore::ScrollView::horizontalScrollbar):
693         (WebCore::ScrollView::verticalScrollbar):
694         Update to scroll via the ScrollbarClient rather than the Scrollbar.
695
696         * platform/Scrollbar.cpp:
697         (WebCore::Scrollbar::offsetDidChange):
698         (WebCore::Scrollbar::autoscrollPressedPart):
699         (WebCore::Scrollbar::moveThumb):
700         (WebCore::Scrollbar::mouseMoved):
701         * platform/Scrollbar.h:
702         (WebCore::Scrollbar::setPressedPos):
703         Change the scrollbar to only updates its offset in response to
704         an offsetDidChange call.
705
706         * platform/ScrollbarClient.cpp:
707         (WebCore::ScrollbarClient::scroll):
708         (WebCore::ScrollbarClient::scrollToOffsetWithoutAnimation):
709         (WebCore::ScrollbarClient::scrollToXOffsetWithoutAnimation):
710         (WebCore::ScrollbarClient::scrollToYOffsetWithoutAnimation):
711         (WebCore::ScrollbarClient::setScrollOffsetFromAnimation):
712         * platform/ScrollbarClient.h:
713         (WebCore::ScrollbarClient::horizontalScrollbar):
714         (WebCore::ScrollbarClient::verticalScrollbar):
715         Make the increasingly misnamed ScrollbarClient responsible for
716         scrolling.
717
718         * platform/efl/ScrollbarEfl.cpp:
719         (scrollbarEflEdjeMessage):
720         * platform/gtk/MainFrameScrollbarGtk.cpp:
721         (MainFrameScrollbarGtk::gtkValueChanged):
722         * platform/qt/ScrollbarQt.cpp:
723         (WebCore::Scrollbar::contextMenu):
724         Update to move scrolling through the client.
725
726         * platform/win/PopupMenuWin.cpp:
727         (WebCore::PopupMenuWin::scrollToRevealSelection):
728         (WebCore::PopupMenuWin::scrollPosition):
729         (WebCore::PopupMenuWin::setScrollOffset):
730         (WebCore::PopupMenuWin::scrollTo):
731         (WebCore::PopupMenuWin::wndProc):
732         * platform/win/PopupMenuWin.h:
733         (WebCore::PopupMenuWin::verticalScrollbar):
734         * rendering/RenderLayer.cpp:
735         (WebCore::RenderLayer::scrollToOffset):
736         (WebCore::RenderLayer::scrollTo):
737         (WebCore::RenderLayer::setScrollOffset):
738         (WebCore::RenderLayer::scrollPosition):
739         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
740         (WebCore::RenderLayer::scroll):
741         * rendering/RenderLayer.h:
742         * rendering/RenderListBox.cpp:
743         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
744         (WebCore::RenderListBox::scroll):
745         (WebCore::RenderListBox::logicalScroll):
746         (WebCore::RenderListBox::scrollPosition):
747         (WebCore::RenderListBox::setScrollOffset):
748         (WebCore::RenderListBox::scrollTo):
749         (WebCore::RenderListBox::setScrollTop):
750         * rendering/RenderListBox.h:
751         (WebCore::RenderListBox::verticalScrollbar):
752         Update to scroll via the ScrollbarClient rather than the Scrollbar.
753
754         * rendering/RenderMarquee.cpp:
755         (WebCore::RenderMarquee::start):
756         Simplify initial paint to just do an immediate scroll to the position.
757
758 2011-01-20  Patrick Gansterer  <paroga@webkit.org>
759
760         Unreviewed WinCE build fix for r76170.
761
762         * platform/graphics/wince/FontWinCE.cpp: Added a missing include.
763         * platform/graphics/wince/ImageBufferData.h: Added a missing include and fixed style.
764
765 2011-01-20  James Robinson  <jamesr@chromium.org>
766
767         Reviewed by Darin Fisher.
768
769         Implement mozilla's requestAnimationFrame API
770         https://bugs.webkit.org/show_bug.cgi?id=51218
771
772         This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
773         an author driving an animation from script could use window.requestAnimationFrame(callback)
774         instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
775         decide when to update the animations.  This avoids doing unnecessary work when the page content
776         is offscreen or is being displayed at a different framerate than what the page author expects.
777
778         Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
779         This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
780         following changes:
781         *) Only the callback syntax is supported, there is no before paint event
782         *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
783             what content they intend to animate.  That way if the page is being displayed but the element
784             in question is offscreen, we can avoid invoking the callback.
785         *) No timestamp is provided to the caller and there is no window.animationStartTime property
786             (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
787         *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
788             using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
789
790         The implementation depends on the embedder scheduling the callbacks since the callback invocation
791         depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
792         to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
793         called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
794         Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
795         embedder has to rate limit callbacks and may not be able to tie the callback directly to the
796         rendering loop.
797
798         Tests: fast/animation/request-animation-frame-cancel.html
799                fast/animation/request-animation-frame-cancel2.html
800                fast/animation/request-animation-frame-display.html
801                fast/animation/request-animation-frame-within-callback.html
802                fast/animation/request-animation-frame.html
803
804         * WebCore.gypi:
805         * dom/Document.cpp:
806         (WebCore::Document::Document):
807         (WebCore::Document::webkitRequestAnimationFrame):
808         (WebCore::Document::webkitCancelRequestAnimationFrame):
809         (WebCore::Document::serviceScriptedAnimations):
810         * dom/Document.h:
811         * dom/RequestAnimationFrameCallback.h: Added.
812         (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
813         * dom/RequestAnimationFrameCallback.idl: Added.
814         * loader/EmptyClients.h:
815         (WebCore::EmptyChromeClient::scheduleAnimation):
816         * page/Chrome.cpp:
817         (WebCore::Chrome::scheduleAnimation):
818         * page/Chrome.h:
819         * page/ChromeClient.h:
820         * page/DOMWindow.cpp:
821         (WebCore::DOMWindow::webkitRequestAnimationFrame):
822         (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
823         * page/DOMWindow.h:
824         * page/DOMWindow.idl:
825         * page/FrameView.cpp:
826         (WebCore::FrameView::scheduleAnimation):
827         (WebCore::FrameView::serviceScriptedAnimations):
828         * page/FrameView.h:
829         * platform/HostWindow.h:
830
831 2011-01-20  James Robinson  <jamesr@chromium.org>
832
833         Reviewed by Nate Chapin.
834
835         [v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters
836         https://bugs.webkit.org/show_bug.cgi?id=52837
837
838         When generating code to invoke a callback with no parameters CodeGeneratorV8.pm was generating the following:
839         v8::Handle<v8::Value> argv[] = {}; which does not compile in visual studio.  Instead, if the argument count
840         is 0, we can just pass a NULL pointer for the argv parameter.
841
842         Test added to bindings/scripts/test/TestCallback.idl and covered by run-bindings-tests.  This
843         patch also includes some spurious changes to the bindings tests golden files (mostly GObject)
844         because the old golden files were out of date.
845
846         * bindings/scripts/CodeGeneratorV8.pm:
847         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
848         (WebDOMTestCallback::callbackWithNoParam):
849         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
850         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
851         (webkit_dom_test_callback_callback_with_no_param):
852         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
853         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
854         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
855         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
856         * bindings/scripts/test/JS/JSTestCallback.cpp:
857         (WebCore::JSTestCallback::callbackWithNoParam):
858         * bindings/scripts/test/JS/JSTestCallback.h:
859         * bindings/scripts/test/JS/JSTestInterface.cpp:
860         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
861         * bindings/scripts/test/JS/JSTestObj.cpp:
862         * bindings/scripts/test/ObjC/DOMTestCallback.h:
863         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
864         (-[DOMTestCallback callbackWithNoParam]):
865         * bindings/scripts/test/TestCallback.idl:
866         * bindings/scripts/test/V8/V8TestCallback.cpp:
867         (WebCore::V8TestCallback::callbackWithNoParam):
868         * bindings/scripts/test/V8/V8TestCallback.h:
869         * bindings/scripts/test/V8/V8TestObj.cpp:
870         (WebCore::TestObjInternal::reflectedUnsignedIntegralAttrAttrGetter):
871
872 2011-01-20  James Robinson  <jamesr@chromium.org>
873
874         Reviewed by Eric "Baller" Seidel.
875
876         RenderTableSection's setNeedsCellRecalc needs to null check table()
877         https://bugs.webkit.org/show_bug.cgi?id=52770
878
879         Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc.
880         This can be null during detach().  Test constructed by Eric Seidel.
881
882         Test: fast/css-generated-content/table-with-scrollbar-corner.html
883
884         * rendering/RenderTableSection.cpp:
885         (WebCore::RenderTableSection::setNeedsCellRecalc):
886         * rendering/RenderTableSection.h:
887
888 2011-01-20  Dirk Schulze  <krit@webkit.org>
889
890         Reviewed by Rob Buis.
891
892         SVG Pattern doesn't take preserveAspectRatio of references Pattern
893         https://bugs.webkit.org/show_bug.cgi?id=52802
894
895         SVGPattern didn't take preserveAspectRatio of a referenced SVGPattern into account. Store preserveAspectRatio
896         in PatternAttributes as well, if the attribute was set on the referenced SVGPattern element.
897
898         Test: svg/custom/pattern-referencing-preserve-aspect-ratio.svg
899
900         * rendering/svg/RenderSVGResourcePattern.cpp:
901         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
902         * svg/PatternAttributes.h:
903         (WebCore::PatternAttributes::PatternAttributes):
904         (WebCore::PatternAttributes::preserveAspectRatio):
905         (WebCore::PatternAttributes::setPreserveAspectRatio):
906         (WebCore::PatternAttributes::hasPreserveAspectRatio):
907         * svg/SVGPatternElement.cpp:
908         (WebCore::SVGPatternElement::collectPatternAttributes):
909
910 2011-01-20  Dan Bernstein  <mitz@apple.com>
911
912         Reviewed by Adele Peterson.
913
914         <rdar://problem/8765498> REGRESSION (r72141): Cannot order prints with Aperture 3.1
915
916         <rdar://problem/8884648> REGRESSION (r72141): Safari hangs when visiting a page on www.bfmtv.com
917         https://bugs.webkit.org/show_bug.cgi?id=52765
918
919         <rdar://problem/8890909> REGRESSION (r72141): Very Slow Rendering With Certain Markup
920         https://bugs.webkit.org/show_bug.cgi?id=52265
921
922         Test: fast/block/line-layout/negative-max-height.html
923
924         Integer overflow detection led to a block having a huge height. This manifested as broken layout
925         in the first bug and as extreme slowness in the latter bugs because of
926         https://bugs.webkit.org/show_bug.cgi?id=52832
927
928         * rendering/RootInlineBox.cpp:
929         (WebCore::RootInlineBox::alignBoxesInBlockDirection): Clamp maxHeight to 0 so the next line
930         cannot start above this line. The negative maxHeight also caused the integer overflow detection
931         logic to give the block a huge height.
932
933 2011-01-20  Yi Shen  <yi.4.shen@nokia.com>
934
935         Reviewed by Eric Carlson.
936
937         Clean up the Media Controls CSS for Qt
938         https://bugs.webkit.org/show_bug.cgi?id=52822
939
940         Split the audio::-webkit-media-xxx and video::-webkit-media-xxx rules 
941         in mediaControlsQt.css, and remove the duplicate audio::-webkit-media-xxx
942         rules from mediaControlsQtFullscreen.css.
943
944         * css/mediaControlsQt.css:
945         (audio::-webkit-media-controls-panel):
946         (video::-webkit-media-controls-panel):
947         (audio::-webkit-media-controls-mute-button):
948         (video::-webkit-media-controls-mute-button):
949         (audio::-webkit-media-controls-play-button):
950         (video::-webkit-media-controls-play-button):
951         (audio::-webkit-media-controls-timeline-container):
952         (video::-webkit-media-controls-timeline-container):
953         (audio::-webkit-media-controls-current-time-display):
954         (video::-webkit-media-controls-current-time-display):
955         (audio::-webkit-media-controls-time-remaining-display):
956         (video::-webkit-media-controls-time-remaining-display):
957         (audio::-webkit-media-controls-timeline):
958         (video::-webkit-media-controls-timeline):
959         (audio::-webkit-media-controls-volume-slider-container):
960         (video::-webkit-media-controls-volume-slider-container):
961         (audio::-webkit-media-controls-volume-slider):
962         (video::-webkit-media-controls-volume-slider):
963         (audio::-webkit-media-controls-seek-back-button):
964         (video::-webkit-media-controls-seek-back-button):
965         (audio::-webkit-media-controls-seek-forward-button):
966         (video::-webkit-media-controls-seek-forward-button):
967         (audio::-webkit-media-controls-fullscreen-button):
968         (video::-webkit-media-controls-fullscreen-button):
969         (audio::-webkit-media-controls-rewind-button):
970         (video::-webkit-media-controls-rewind-button):
971         (audio::-webkit-media-controls-return-to-realtime-button):
972         (video::-webkit-media-controls-return-to-realtime-button):
973         (audio::-webkit-media-controls-toggle-closed-captions-button):
974         (video::-webkit-media-controls-toggle-closed-captions-button):
975         * css/mediaControlsQtFullscreen.css:
976         (video::-webkit-media-controls-time-remaining-display):
977         (video::-webkit-media-controls-seek-back-button):
978         (video::-webkit-media-controls-seek-forward-button):
979         (video::-webkit-media-controls-rewind-button):
980         (video::-webkit-media-controls-return-to-realtime-button):
981         (video::-webkit-media-controls-toggle-closed-captions-button):
982
983 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
984
985         Reviewed by Pavel Feldman.
986
987         Web Inspector: [REGRESSION] Canceling of CSS numeric values increment/decrement is broken
988         https://bugs.webkit.org/show_bug.cgi?id=52816
989
990         * inspector/front-end/StylesSidebarPane.js:
991         (WebInspector.StylePropertyTreeElement.prototype):
992
993 2011-01-20  Dawit Alemayehu  <adawit@kde.org>
994
995         Reviewed by Andreas Kling.
996
997         [Qt] Fix Layering violation in MediaPlayerPrivateQt.
998         https://bugs.webkit.org/show_bug.cgi?id=52733
999
1000         No new tests. no behavioral change.
1001
1002        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1003         (WebCore::MediaPlayerPrivateQt::commitLoad):
1004
1005 2011-01-20  Nate Chapin  <japhet@chromium.org>
1006
1007         Reviewed by Darin Fisher.
1008
1009         [V8] Call malloc and memcpy directly instead of
1010         of strdup in convertV8ObjectToNPVariant() when
1011         converting strings. If there is a null character
1012         in the string, our use of strdup causes us to allocate
1013         too little memory, leading to out of bounds reads.
1014
1015         https://bugs.webkit.org/show_bug.cgi?id=52631
1016
1017         * bindings/v8/V8NPUtils.cpp:
1018         (WebCore::convertV8ObjectToNPVariant):
1019
1020 2011-01-20  Andreas Kling  <kling@webkit.org>
1021
1022         Reviewed by Ariya Hidayat.
1023
1024         [Qt] Fill shadow scratch buffer with proper transparent pixels
1025
1026         QImage::fill() has no Qt::GlobalColor overload in Qt 4.7 (coming in 4.8)
1027         so doing QImage::fill(Qt::transparent) will actually fill all pixels with
1028         the RGBA value 0x00000013.
1029
1030         * platform/graphics/qt/ContextShadowQt.cpp:
1031         (WebCore::ShadowBuffer::scratchImage):
1032
1033 2011-01-19  Adam Roben  <aroben@apple.com>
1034
1035         Remove WKCACFContextFlusher
1036
1037         It wasn't doing anything.
1038
1039         Fixes <http://webkit.org/b/52752> WKCACFContextFlusher is unused
1040
1041         Reviewed by Simon Fraser.
1042
1043         * WebCore.vcproj/WebCore.vcproj: Removed WKCACFContextFlusher. Also let VS have its way with
1044         the file.
1045
1046         * platform/graphics/win/WKCACFContextFlusher.cpp: Removed.
1047         * platform/graphics/win/WKCACFContextFlusher.h: Removed.
1048
1049         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1050         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
1051         (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
1052         Stop telling WKCACFContextFlusher about our context, since it never did anything with it.
1053
1054 2011-01-19  Adam Roben  <aroben@apple.com>
1055
1056         Only flush our own context when we get resized
1057
1058         Fixes <http://webkit.org/b/52751> All WKCACFContexts with uncommitted
1059         changes get flushed whenever any composited page is resized
1060
1061         Reviewed by Simon Fraser.
1062
1063         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1064         (WebCore::WKCACFLayerRenderer::resize): Just flush our own context, not all contexts
1065         WKCACFContextFlusher knows about. After all, ours is the only one that just got resized!
1066
1067 2011-01-19  Adam Roben  <aroben@apple.com>
1068
1069         Make WKCACFLayerRenderer ref-counted
1070
1071         This will be needed to handle cases where the client might release its reference to us while
1072         we're calling out to it.
1073
1074         WKCACFLayerRenderer now has a setClient function, which is used rather than passing the
1075         client to create(). This allows clients to null out the client pointer when they're done
1076         with the renderer.
1077
1078         Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be
1079         ref-counted
1080
1081         Reviewed by Simon Fraser.
1082
1083         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
1084         (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow):
1085         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
1086         Updated for WKCACFLayerRenderer changes.
1087
1088         * platform/graphics/win/WKCACFLayerRenderer.cpp:
1089         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): Updated for changes to
1090         create().
1091         (WebCore::WKCACFLayerRenderer::create): No longer takes a WKCACFLayerRendererClient. Now
1092         returns a PassOwnPtr.
1093         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): No longer takes a
1094         WKCACFLayerRendererClient.
1095
1096         * platform/graphics/win/WKCACFLayerRenderer.h: Made WKCACFLayerRenderer inherit from
1097         RefCounted.
1098         (WebCore::WKCACFLayerRenderer::setClient): Added this simple setter.
1099
1100 2011-01-20  Csaba Osztrogonác  <ossy@webkit.org>
1101
1102         [Qt][V8] Unreviewed buildfix after r76248.
1103
1104         * bindings/v8/ScriptCachedFrameData.h: Add missing include.
1105
1106 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
1107
1108         Reviewed by Yury Semikhatsky.
1109
1110         Web Inspector: enable resource agent upon request.
1111         https://bugs.webkit.org/show_bug.cgi?id=52815
1112
1113         We should not send network-related notifications unless front-end
1114         is interested.
1115
1116         * inspector/Inspector.idl:
1117         * inspector/InspectorController.cpp:
1118         (WebCore::InspectorController::restoreInspectorStateFromCookie):
1119         (WebCore::InspectorController::connectFrontend):
1120         (WebCore::InspectorController::resourceAgent):
1121         * inspector/InspectorController.h:
1122         (WebCore::InspectorController::consoleAgent):
1123         (WebCore::InspectorController::cssAgent):
1124         (WebCore::InspectorController::domAgent):
1125         (WebCore::InspectorController::injectedScriptAgent):
1126         (WebCore::InspectorController::runtimeAgent):
1127         (WebCore::InspectorController::databaseAgent):
1128         (WebCore::InspectorController::domStorageAgent):
1129         (WebCore::InspectorController::fileSystemAgent):
1130         * inspector/InspectorInstrumentation.cpp:
1131         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
1132         * inspector/InspectorResourceAgent.cpp:
1133         (WebCore::InspectorResourceAgent::restore):
1134         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
1135         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
1136         * inspector/InspectorResourceAgent.h:
1137         (WebCore::InspectorResourceAgent::create):
1138         * inspector/InspectorState.cpp:
1139         (WebCore::InspectorState::InspectorState):
1140         * inspector/InspectorState.h:
1141
1142 2011-01-20  Zoltan Horvath  <zoltan@webkit.org>
1143
1144         Reviewed by Csaba Osztrogonác.
1145
1146         Refactoring of the custom allocation framework
1147         https://bugs.webkit.org/show_bug.cgi?id=49897
1148
1149         Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
1150         The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
1151         equivalent macro implementation at the necessary places.
1152
1153 2011-01-20  Mikhail Naganov  <mnaganov@chromium.org>
1154
1155         Reviewed by Pavel Feldman.
1156
1157         Web Inspector: [Chromium] CPU Profiles are cleared when navigating back and forth.
1158
1159         Profiles are now not cleared unless renderer instance was changed.
1160
1161         https://bugs.webkit.org/show_bug.cgi?id=52807
1162
1163         * inspector/InspectorController.cpp:
1164         (WebCore::InspectorController::restoreProfiler):
1165         * inspector/InspectorProfilerAgent.cpp:
1166         (WebCore::InspectorProfilerAgent::resetState):
1167         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
1168         * inspector/InspectorProfilerAgent.h:
1169
1170 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
1171
1172         Unreviewed, add new JS file refs missing from r76116.
1173
1174         * WebCore.gypi:
1175         * WebCore.vcproj/WebCore.vcproj:
1176         * inspector/front-end/WebKit.qrc:
1177
1178 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
1179
1180         Reviewed by Pavel Feldman.
1181
1182         Web Inspector: Crash when adding a rule for an ImageDocument
1183         https://bugs.webkit.org/show_bug.cgi?id=52811
1184
1185         * inspector/InspectorCSSAgent.cpp:
1186         (WebCore::InspectorCSSAgent::addRule2):
1187         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
1188
1189 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
1190
1191         Reviewed by Pavel Feldman.
1192
1193         Web Inspector: cleanup InspectorController's friends list.
1194         We have a plan to extract InspectorAgent from InspectorController.
1195         InspectorAgent will be accessible only from InspectorController.
1196         As result we can simply made some methods public and remove long
1197         friends list.
1198
1199         https://bugs.webkit.org/show_bug.cgi?id=52806
1200
1201         * inspector/InjectedScriptHost.cpp:
1202         (WebCore::InjectedScriptHost::databaseForId):
1203         (WebCore::InjectedScriptHost::selectDatabase):
1204         (WebCore::InjectedScriptHost::selectDOMStorage):
1205         (WebCore::InjectedScriptHost::inspectorDOMAgent):
1206         (WebCore::InjectedScriptHost::frontend):
1207         * inspector/InspectorBrowserDebuggerAgent.cpp:
1208         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1209         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1210         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
1211         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
1212         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
1213         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1214         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
1215         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1216         * inspector/InspectorController.h:
1217         (WebCore::InspectorController::frontend):
1218         * inspector/InspectorInstrumentation.cpp:
1219         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1220         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1221         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1222         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1223         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1224         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
1225         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
1226         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1227         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
1228         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
1229         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
1230         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
1231         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1232         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
1233         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
1234         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
1235
1236 2011-01-19  Pavel Podivilov  <podivilov@chromium.org>
1237
1238         Reviewed by Yury Semikhatsky.
1239
1240         Web Inspector: implement JavaScriptBreakpointsSidebarPane based on events from debugger model.
1241         https://bugs.webkit.org/show_bug.cgi?id=52723
1242
1243         Extract all breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane.
1244
1245         * inspector/front-end/Breakpoint.js:
1246         (WebInspector.Breakpoint):
1247         (WebInspector.Breakpoint.prototype.get data):
1248         (WebInspector.Breakpoint.prototype.remove):
1249         * inspector/front-end/BreakpointsSidebarPane.js:
1250         (WebInspector.JavaScriptBreakpointsSidebarPane):
1251         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):
1252         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved):
1253         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointEnableChanged):
1254         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointItemCheckboxClicked):
1255         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenuEventFired):
1256         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
1257         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerResumed):
1258         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._addListElement):
1259         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeListElement):
1260         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._projectChanged):
1261         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compare):
1262         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
1263         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement.didGetSourceLine):
1264         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
1265         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointIdForDebuggerPausedEvent):
1266         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setBreakpointEnabled):
1267         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeBreakpoint):
1268         (WebInspector.NativeBreakpointsSidebarPane):
1269         (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
1270         * inspector/front-end/DebuggerModel.js:
1271         (WebInspector.DebuggerModel.prototype.removeBreakpoint):
1272         (WebInspector.DebuggerModel.prototype.breakpointForId):
1273         (WebInspector.DebuggerModel.prototype._pausedScript):
1274         (WebInspector.DebuggerModel.prototype._resumedScript):
1275         * inspector/front-end/ScriptsPanel.js:
1276         (WebInspector.ScriptsPanel):
1277         * inspector/front-end/inspector.js:
1278
1279 2011-01-20  Dirk Schulze  <krit@webkit.org>
1280
1281         Reviewed by Andreas Kling.
1282
1283         SVG Pattern doesn't take the viewBox of a referenced Pattern
1284         https://bugs.webkit.org/show_bug.cgi?id=52804
1285         
1286         SVGPattern element didn't use the viewBox of another SVGPattern element, referenced
1287         by xlink:href. Modified PatternAttributes, to take the value of the viewBox of the
1288         SVGPattern element as well, if the attribute was set.
1289         This gets checked by a W3C SVG test case.        
1290
1291         Test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg
1292
1293         * rendering/svg/RenderSVGResourcePattern.cpp:
1294         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
1295         * svg/PatternAttributes.h:
1296         (WebCore::PatternAttributes::PatternAttributes):
1297         (WebCore::PatternAttributes::viewBox):
1298         (WebCore::PatternAttributes::setViewBox):
1299         (WebCore::PatternAttributes::hasViewBox):
1300         * svg/SVGPatternElement.cpp:
1301         (WebCore::SVGPatternElement::collectPatternAttributes):
1302
1303 2011-01-19  Stephen White  <senorblanco@chromium.org>
1304
1305         [Re-land of r76159 with a compile fix for the Chromium linux shlib
1306         build.]
1307
1308         Reviewed by James Robinson.
1309
1310         Implement accelerated path drawing and clipping for the Canvas2D GPU
1311         path.
1312         https://bugs.webkit.org/show_bug.cgi?id=52627
1313         
1314         This is done with a simple curve interpolator and the GLU tesselator,
1315         which is good enough for a 3-5X speedup on
1316         http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
1317
1318         Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
1319         All tests canvas/philip and fast/canvas paths pass with no
1320         regressions, although two have minor pixel differences which require
1321         rebaselining.
1322
1323         * WebCore.gyp/WebCore.gyp:
1324         Add internal_glu include path to chromium build.
1325         * WebCore.gypi:
1326         Add internal_glu files to chromium build.
1327         * html/canvas/CanvasRenderingContext2D.cpp:
1328         (WebCore::CanvasRenderingContext2D::reset):
1329         (WebCore::CanvasRenderingContext2D::platformLayer):
1330         Make CanvasRenderingContext2D more robust against failure to create
1331         a DrawingBuffer.
1332         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1333         (WebCore::DrawingBuffer::DrawingBuffer):
1334         As in DrawingBufferMac.cpp, call reset() from the constructor.
1335         Also initialize size to (-1, -1), so reset() doesn't early-out.
1336         Add initializers for depthBuffer and stencilBuffer, and remove
1337         multisampleDepthStencilBuffer.
1338         * platform/graphics/chromium/GLES2Canvas.cpp:
1339         Remove some unused #includes.
1340         (WebCore::GLES2Canvas::State::State):
1341         Add clipping state, and implement save/restore via the copy constructor.
1342         (WebCore::operator*):
1343         (WebCore::Quadratic::Quadratic):
1344         (WebCore::Quadratic::fromBezier):
1345         (WebCore::Quadratic::evaluate):
1346         Quadratic Bezier curve class.
1347         (WebCore::Cubic::Cubic):
1348         (WebCore::Cubic::fromBezier):
1349         (WebCore::Cubic::evaluate):
1350         Cubic Bezier curve class.
1351         (WebCore::GLES2Canvas::clearRect):
1352         Add clipping support to clearRect().
1353         (WebCore::GLES2Canvas::fillPath):
1354         Implement fillPath().
1355         (WebCore::GLES2Canvas::fillRect):
1356         Add clipping support to fillRect().
1357         (WebCore::GLES2Canvas::clipPath):
1358         Implement clipPath().
1359         (WebCore::GLES2Canvas::clipOut):
1360         Stub out clipOut() (not called by Canvas 2D).
1361         (WebCore::GLES2Canvas::restore):
1362         When restoring, draw any remaining clipping paths to the stencil buffer.
1363         (WebCore::GLES2Canvas::drawTexturedRect):
1364         Add clipping support.
1365         (WebCore::interpolateQuadratic):
1366         (WebCore::interpolateCubic):
1367         Simple curve interpolation, using the Cubic and Quadratic classes.
1368         (WebCore::PolygonData::PolygonData):
1369         A struct to hold the tesselation data for callbacks.
1370         (WebCore::beginData):
1371         (WebCore::edgeFlagData):
1372         (WebCore::vertexData):
1373         (WebCore::endData):
1374         (WebCore::combineData):
1375         internal_glu tesselation callbacks.
1376         (WebCore::GLES2Canvas::createVertexBufferFromPath):
1377         Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
1378         (WebCore::GLES2Canvas::beginStencilDraw):
1379         Enable stencilling, and disable draws to the color buffer.
1380         (WebCore::GLES2Canvas::applyClipping):
1381         If clipping is enabled, set the appropriate GL state.
1382         * platform/graphics/chromium/GLES2Canvas.h:
1383         Document the flavours of drawTexturedRect() a bit, so I don't get confused.
1384         * platform/graphics/gpu/DrawingBuffer.cpp:
1385         (WebCore::DrawingBuffer::clear):
1386         (WebCore::DrawingBuffer::createSecondaryBuffers):
1387         (WebCore::DrawingBuffer::resizeDepthStencil):
1388         (WebCore::DrawingBuffer::reset):
1389         * platform/graphics/gpu/DrawingBuffer.h:
1390         Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
1391         Implement separate depth and stencil buffers for when
1392         OES_packed_depth_stencil is not available.  Refactor creation of
1393         multisampled and non-multisampled depth and stencil buffers into
1394         resizeDepthStencil().
1395         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1396         (WebCore::SharedGraphicsContext3D::create):
1397         Turn on stencil, turn off depth, turn off antialiasing (for now).
1398         (WebCore::SharedGraphicsContext3D::enableStencil):
1399         * platform/graphics/gpu/SharedGraphicsContext3D.h:
1400         Implement stencil enable/disable.
1401         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
1402         (WebCore::DrawingBuffer::DrawingBuffer):
1403         Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
1404         on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
1405         and m_stencilBuffer.
1406         * platform/graphics/skia/GraphicsContextSkia.cpp:
1407         (WebCore::GraphicsContext::canvasClip):
1408         (WebCore::GraphicsContext::clipOut):
1409         (WebCore::GraphicsContext::clipPath):
1410         (WebCore::GraphicsContext::fillPath):
1411         Put in GPU hooks for path clipping, and path drawing.
1412         * platform/graphics/skia/PlatformContextSkia.cpp:
1413         (WebCore::PlatformContextSkia::canAccelerate):
1414         Don't check for clipping paths in canAccelerate() (since we can
1415         now accelerate them).
1416         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
1417         Don't do clipping when uploading software draws to hardware.
1418         * thirdparty/glu/README.webkit:
1419         * thirdparty/glu/gluos.h:
1420         #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
1421         * thirdparty/glu/libtess/geom.c:
1422         * thirdparty/glu/libtess/priorityq.c:
1423         * thirdparty/glu/libtess/render.c:
1424         Use do{}while(0) instead of if(1)else construct in macro.
1425         * thirdparty/glu/libtess/sweep.c:
1426         (IsWindingInside):
1427         (DoneEdgeDict):
1428         Fix some warnings treated as errors for the Linux Release build.
1429
1430
1431 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
1432
1433         Web Inspector: move releaseObjectGroup to the new Runtime agent.
1434         https://bugs.webkit.org/show_bug.cgi?id=52803
1435         (accedentally landed as r76231)
1436
1437         * inspector/InspectorContorller.h:
1438         * inspector/InspectorContorller.cpp:
1439         * inspector/InspectorRuntimeAgent.h:
1440         * inspector/InspectorRuntimeAgent.cpp:
1441
1442 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
1443
1444         Not reviewed: build fix.
1445
1446         * inspector/InspectorState.h:
1447         (WebCore::InspectorState::setBoolean):
1448         (WebCore::InspectorState::setString):
1449         (WebCore::InspectorState::setLong):
1450
1451 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
1452
1453         Reviewed by Yury Semikhatsky.
1454
1455         Web Inspector: further simplify InspectorState.
1456         https://bugs.webkit.org/show_bug.cgi?id=52731
1457
1458         This change moves XHR logging flag into console agent,
1459         removes InspectorState pushing to the front-end.
1460
1461         * inspector/Inspector.idl:
1462         * inspector/InspectorConsoleAgent.cpp:
1463         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1464         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
1465         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
1466         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1467         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1468         * inspector/InspectorConsoleAgent.h:
1469         * inspector/InspectorController.cpp:
1470         (WebCore::InspectorController::InspectorController):
1471         * inspector/InspectorController.h:
1472         (WebCore::InspectorController::state):
1473         (WebCore::InspectorController::settings):
1474         * inspector/InspectorState.cpp:
1475         (WebCore::InspectorState::InspectorState):
1476         (WebCore::InspectorState::registerBoolean):
1477         (WebCore::InspectorState::registerString):
1478         (WebCore::InspectorState::registerLong):
1479         (WebCore::InspectorState::registerObject):
1480         (WebCore::InspectorState::Property::create):
1481         * inspector/InspectorState.h:
1482         * inspector/front-end/ConsoleView.js:
1483         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
1484         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
1485         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
1486         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
1487         * inspector/front-end/inspector.js:
1488
1489 2011-01-20  Csaba Osztrogonác  <ossy@webkit.org>
1490
1491         Unreviewed buildfix.
1492
1493         [Qt][V8] Remove unnecessary files after r76224.
1494
1495         * WebCore.pro:
1496
1497 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
1498
1499         Reviewed by Yury Semikhatsky.
1500
1501         Web Inspector: prepare for extracting InspectorAgent from InspectorController.
1502         https://bugs.webkit.org/show_bug.cgi?id=52797
1503
1504         * inspector/CodeGeneratorInspector.pm:
1505         * inspector/InspectorController.h:
1506         (WebCore::InspectorController::inspectorAgent):
1507         (WebCore::InspectorController::cssAgent):
1508         (WebCore::InspectorController::injectedScriptAgent):
1509         (WebCore::InspectorController::resourceAgent):
1510         (WebCore::InspectorController::runtimeAgent):
1511         (WebCore::InspectorController::timelineAgent):
1512         (WebCore::InspectorController::databaseAgent):
1513         (WebCore::InspectorController::domStorageAgent):
1514         (WebCore::InspectorController::fileSystemAgent):
1515         (WebCore::InspectorController::browserDebuggerAgent):
1516         (WebCore::InspectorController::debuggerAgent):
1517         (WebCore::InspectorController::profilerAgent):
1518         (WebCore::InspectorController::applicationCacheAgent):
1519
1520 2011-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1521
1522         Unreviewed, rolling out r76215.
1523         http://trac.webkit.org/changeset/76215
1524         https://bugs.webkit.org/show_bug.cgi?id=52799
1525
1526         Caused regressions in Chromium; morrita is going to look at it
1527         tomrorow (Requested by jorlow on #webkit).
1528
1529         * dom/TextEvent.h:
1530         * dom/TextEventInputType.h:
1531         * editing/CompositeEditCommand.cpp:
1532         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
1533         * editing/CompositeEditCommand.h:
1534         * editing/Editor.cpp:
1535         (WebCore::Editor::insertTextWithoutSendingTextEvent):
1536         (WebCore::Editor::confirmComposition):
1537         (WebCore::Editor::setComposition):
1538         * editing/Editor.h:
1539         * editing/InsertTextCommand.cpp:
1540         (WebCore::InsertTextCommand::input):
1541         * editing/InsertTextCommand.h:
1542         * editing/TypingCommand.cpp:
1543         (WebCore::TypingCommand::TypingCommand):
1544         (WebCore::TypingCommand::insertText):
1545         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
1546         * editing/TypingCommand.h:
1547         (WebCore::TypingCommand::create):
1548
1549 2010-12-14  Yury Semikhatsky  <yurys@chromium.org>
1550
1551         Reviewed by Adam Barth.
1552
1553         [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp
1554         https://bugs.webkit.org/show_bug.cgi?id=51044
1555
1556         * WebCore.gypi:
1557         * bindings/v8/V8ConsoleMessage.cpp: Removed.
1558         * bindings/v8/V8ConsoleMessage.h: Removed.
1559         * bindings/v8/V8DOMWindowShell.cpp:
1560         (WebCore::v8UncaughtExceptionHandler):
1561         (WebCore::reportUnsafeJavaScriptAccess):
1562         (WebCore::V8DOMWindowShell::initContextIfNeeded):
1563         * bindings/v8/V8Proxy.cpp:
1564         (WebCore::addMessageToConsole):
1565         (WebCore::logInfo):
1566         (WebCore::V8Proxy::reportUnsafeAccessTo):
1567         (WebCore::V8Proxy::runScript):
1568         (WebCore::V8Proxy::callFunction):
1569         (WebCore::V8Proxy::newInstance):
1570         * bindings/v8/V8Proxy.h:
1571         * bindings/v8/WorkerContextExecutionProxy.cpp:
1572         * bindings/v8/specialization/V8BindingState.cpp:
1573         (WebCore::::immediatelyReportUnsafeAccessTo):
1574
1575 2011-01-19  MORITA Hajime  <morrita@google.com>
1576
1577         Reviewed by Eric Seidel.
1578
1579         ShadowElement::m_shadowParent should be removed
1580         https://bugs.webkit.org/show_bug.cgi?id=52558
1581
1582         No new tests. No behavioral change.
1583
1584         * rendering/ShadowElement.h:
1585         (WebCore::ShadowElement::ShadowElement):
1586
1587 2011-01-20  Hans Wennborg  <hans@chromium.org>
1588
1589         Reviewed by Jeremy Orlow.
1590
1591         IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror
1592         https://bugs.webkit.org/show_bug.cgi?id=52725
1593
1594         Let IDBObjectStore.get() fire the onsuccess handler with the value
1595         'undefined' for when an object does not exist in the store.
1596
1597         Update SerializedScriptValue to provide such an undefined value.
1598
1599         * bindings/v8/SerializedScriptValue.cpp:
1600         (WebCore::SerializedScriptValue::nullValue):
1601         (WebCore::SerializedScriptValue::undefinedValue):
1602         * bindings/v8/SerializedScriptValue.h:
1603         * storage/IDBObjectStoreBackendImpl.cpp:
1604         (WebCore::IDBObjectStoreBackendImpl::getInternal):
1605
1606 2010-12-27  Yury Semikhatsky  <yurys@chromium.org>
1607
1608         Reviewed by Pavel Feldman.
1609
1610         WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
1611         https://bugs.webkit.org/show_bug.cgi?id=8519
1612
1613         Uncaught exceptions are propagated to window.onerror hander if one is present.
1614         The handler is expected to be a function accepting three arguments: error message,
1615         resource url and line number where the exception occured.
1616
1617         It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
1618         were created in the same isolated world where the exception occured or not.
1619
1620         Tests: fast/events/window-onerror1.html
1621                fast/events/window-onerror10.html
1622                fast/events/window-onerror11.html
1623                fast/events/window-onerror12.html
1624                fast/events/window-onerror2.html
1625                fast/events/window-onerror3.html
1626                fast/events/window-onerror4.html
1627                fast/events/window-onerror5.html
1628                fast/events/window-onerror6.html
1629                fast/events/window-onerror7.html
1630                fast/events/window-onerror8.html
1631                fast/events/window-onerror9.html
1632                http/tests/security/window-onerror-exception-in-iframe.html
1633                userscripts/window-onerror-for-isolated-world-1.html
1634                userscripts/window-onerror-for-isolated-world-2.html
1635
1636         * Android.jscbindings.mk:
1637         * CMakeLists.txt:
1638         * GNUmakefile.am:
1639         * WebCore.gypi:
1640         * WebCore.order:
1641         * WebCore.pro:
1642         * WebCore.vcproj/WebCore.vcproj:
1643         * WebCore.xcodeproj/project.pbxproj:
1644         * bindings/js/JSBindingsAllInOne.cpp:
1645         * bindings/js/JSDOMBinding.cpp:
1646         (WebCore::reportException):
1647         * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
1648         (WebCore::JSErrorHandler::JSErrorHandler):
1649         (WebCore::JSErrorHandler::~JSErrorHandler):
1650         (WebCore::JSErrorHandler::handleEvent):
1651         * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
1652         (WebCore::JSErrorHandler::create):
1653         (WebCore::createJSErrorHandler):
1654         * bindings/js/JSEventListener.h:
1655         * bindings/scripts/CodeGeneratorJS.pm:
1656         * bindings/scripts/CodeGeneratorV8.pm:
1657         * bindings/v8/V8ConsoleMessage.cpp:
1658         (WebCore::V8ConsoleMessage::dispatchNow):
1659         (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
1660         reporting mechanism which is also used by JSC bindings.
1661         * bindings/v8/V8ConsoleMessage.h:
1662         * bindings/v8/V8EventListener.h:
1663         * bindings/v8/V8WindowErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
1664         (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
1665         (WebCore::V8WindowErrorHandler::callListenerFunction):
1666         * bindings/v8/V8WindowErrorHandler.h: Copied from WebCore/dom/ErrorEvent.cpp.
1667         (WebCore::V8WindowErrorHandler::create):
1668         * bindings/v8/WorkerContextExecutionProxy.cpp:
1669         (WebCore::v8MessageHandler):
1670         * bindings/v8/WorkerScriptController.cpp:
1671         (WebCore::WorkerScriptController::evaluate):
1672         * dom/Document.cpp:
1673         (WebCore::Document::errorEventTarget):
1674         (WebCore::Document::logExceptionToConsole):
1675         (WebCore::Document::addMessage):
1676         * dom/Document.h:
1677         * dom/ErrorEvent.cpp:
1678         * dom/ErrorEvent.h:
1679         * dom/Event.cpp:
1680         (WebCore::Event::isErrorEvent):
1681         * dom/Event.h:
1682         * dom/ScriptExecutionContext.cpp:
1683         (WebCore::ScriptExecutionContext::PendingException::PendingException):
1684         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1685         (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
1686         ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
1687         (WebCore::ScriptExecutionContext::dispatchErrorEvent):
1688         * dom/ScriptExecutionContext.h:
1689         * websockets/WebSocket.cpp:
1690         (WebCore::WebSocket::connect):
1691         * websockets/WebSocketChannel.cpp:
1692         (WebCore::WebSocketChannel::didOpen):
1693         (WebCore::WebSocketChannel::didFail):
1694         (WebCore::WebSocketChannel::appendToBuffer):
1695         * websockets/WebSocketHandshake.cpp:
1696         (WebCore::WebSocketHandshake::readServerHandshake):
1697         (WebCore::WebSocketHandshake::readStatusLine):
1698         (WebCore::WebSocketHandshake::readHTTPHeaders):
1699         (WebCore::WebSocketHandshake::checkResponseHeaders):
1700         * workers/DefaultSharedWorkerRepository.cpp:
1701         (WebCore::postExceptionTask):
1702         (WebCore::postConsoleMessageTask):
1703         * workers/WorkerContext.cpp:
1704         (WebCore::WorkerContext::WorkerContext):
1705         (WebCore::WorkerContext::errorEventTarget):
1706         (WebCore::WorkerContext::logExceptionToConsole):
1707         (WebCore::WorkerContext::addMessage):
1708         * workers/WorkerContext.h:
1709         * workers/WorkerMessagingProxy.cpp:
1710         (WebCore::WorkerExceptionTask::performTask):
1711         (WebCore::postConsoleMessageTask):
1712         * xml/XMLHttpRequest.cpp:
1713         (WebCore::reportUnsafeUsage):
1714
1715 2011-01-19  MORITA Hajime  <morrita@google.com>
1716
1717         Reviewed by Ryosuke Niwa.
1718
1719         Space and tab characters "sent" by an input method give totally different results than typing them directly
1720         https://bugs.webkit.org/show_bug.cgi?id=5241
1721         
1722         * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
1723           distinguish text input which is originated by composition.
1724         * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
1725           range of string on text node, instead of surrounding part of that.
1726
1727         Test: editing/inserting/insert-composition-whitespace.html
1728
1729         * dom/TextEvent.h:
1730         (WebCore::TextEvent::isComposition):
1731         * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
1732         * editing/CompositeEditCommand.cpp:
1733         (WebCore::containsOnlyWhitespace):
1734         (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
1735         (WebCore::CompositeEditCommand::canRebalance):
1736         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
1737         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
1738         * editing/CompositeEditCommand.h:
1739         * editing/Editor.cpp:
1740         (WebCore::Editor::insertTextForConfirmedComposition): Added.
1741         (WebCore::Editor::insertTextWithoutSendingTextEvent):
1742         (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
1743         (WebCore::Editor::setComposition):
1744         * editing/Editor.h:
1745         * editing/InsertTextCommand.cpp:
1746         (WebCore::InsertTextCommand::input):
1747         * editing/InsertTextCommand.h:
1748         * editing/TypingCommand.cpp:
1749         (WebCore::TypingCommand::TypingCommand):
1750         (WebCore::TypingCommand::insertText):
1751         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
1752         * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
1753         (WebCore::TypingCommand::setCompositionType): Added.
1754         (WebCore::TypingCommand::create):
1755
1756 2011-01-19  Dominic Cooney  <dominicc@google.com>
1757
1758         Reviewed by Kent Tamura.
1759
1760         Make <keygen> no longer appear to be a <select> element to script.
1761         https://bugs.webkit.org/show_bug.cgi?id=52557
1762
1763         The intent is to put <keygen> options into shadow DOM. This change
1764         takes the first step by hiding the <select> element from
1765         JavaScript.
1766
1767         Test: fast/dom/HTMLKeygenElement/keygen.html
1768
1769         * CMakeLists.txt: Adds new IDL-derived wrapper.
1770         * DerivedSources.cpp:
1771         * DerivedSources.make:
1772         * GNUmakefile.am:
1773         * WebCore.gypi:
1774         * WebCore.pri:
1775         * WebCore.vcproj/WebCore.vcproj:
1776         * WebCore.xcodeproj/project.pbxproj:
1777         * bindings/gobject/GNUmakefile.am:
1778         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
1779         (WebKit::createKeygenWrapper):
1780         (WebKit::createHTMLElementWrapper):
1781         * bindings/objc/DOM.mm:
1782         (WebCore::createElementClassMap): Keygen no longer DOMHTMLSelectElement
1783         * html/HTMLKeygenElement.h:
1784         (WebCore::HTMLKeygenElement::willValidate): Now public.
1785         * html/HTMLKeygenElement.idl: Added.
1786         * html/HTMLTagNames.in: Keygen's wrapper is HTMLKeygenElement.
1787         * page/DOMWindow.idl: Add HTMLKeygenElement constructor.
1788
1789 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1790
1791         Unreviewed, rolling out r76203.
1792         http://trac.webkit.org/changeset/76203
1793         https://bugs.webkit.org/show_bug.cgi?id=52784
1794
1795         Broke Win compile on Chromium bots (Requested by dimich on
1796         #webkit).
1797
1798         * WebCore.gypi:
1799         * bindings/v8/V8DOMWindowShell.cpp:
1800         (WebCore::reportFatalErrorInV8):
1801         * page/PageGroup.cpp:
1802         (WebCore::PageGroup::isLinkVisited):
1803         * platform/android/PlatformBridge.h:
1804         * platform/audio/chromium/AudioBusChromium.cpp:
1805         (WebCore::createBusFromInMemoryAudioFile):
1806         * platform/chromium/ChromiumBridge.h: Added.
1807         * platform/chromium/ChromiumDataObjectLegacy.cpp:
1808         (WebCore::ChromiumDataObjectLegacy::getData):
1809         * platform/chromium/DragDataChromium.cpp:
1810         (WebCore::DragData::asURL):
1811         * platform/chromium/FileSystemChromium.cpp:
1812         (WebCore::deleteFile):
1813         (WebCore::deleteEmptyDirectory):
1814         (WebCore::getFileSize):
1815         (WebCore::getFileModificationTime):
1816         (WebCore::revealFolderInOS):
1817         (WebCore::directoryName):
1818         (WebCore::pathByAppendingComponent):
1819         (WebCore::makeAllDirectories):
1820         (WebCore::fileExists):
1821         (WebCore::openFile):
1822         (WebCore::closeFile):
1823         (WebCore::seekFile):
1824         (WebCore::truncateFile):
1825         (WebCore::readFromFile):
1826         (WebCore::writeToFile):
1827         * platform/chromium/LanguageChromium.cpp:
1828         (WebCore::platformDefaultLanguage):
1829         * platform/chromium/LinkHashChromium.cpp:
1830         (WebCore::visitedLinkHash):
1831         * platform/chromium/MIMETypeRegistryChromium.cpp:
1832         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1833         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
1834         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
1835         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
1836         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
1837         * platform/chromium/PasteboardChromium.cpp:
1838         (WebCore::Pasteboard::writeSelection):
1839         (WebCore::Pasteboard::writePlainText):
1840         (WebCore::Pasteboard::writeURL):
1841         (WebCore::Pasteboard::writeImage):
1842         (WebCore::Pasteboard::canSmartReplace):
1843         (WebCore::Pasteboard::plainText):
1844         (WebCore::Pasteboard::documentFragment):
1845         * platform/chromium/PlatformBridge.h:
1846         * platform/chromium/PlatformScreenChromium.cpp:
1847         (WebCore::screenDepth):
1848         (WebCore::screenDepthPerComponent):
1849         (WebCore::screenIsMonochrome):
1850         (WebCore::screenRect):
1851         (WebCore::screenAvailableRect):
1852         * platform/chromium/ReadableDataObject.cpp:
1853         (WebCore::ReadableDataObject::getData):
1854         (WebCore::ReadableDataObject::urlTitle):
1855         (WebCore::ReadableDataObject::htmlBaseUrl):
1856         (WebCore::ReadableDataObject::filenames):
1857         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
1858         * platform/chromium/SSLKeyGeneratorChromium.cpp:
1859         (WebCore::signedPublicKeyAndChallengeString):
1860         * platform/chromium/ScrollbarThemeChromium.cpp:
1861         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1862         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
1863         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
1864         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
1865         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
1866         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
1867         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
1868         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1869         (WebCore::scrollbarStateToThemeState):
1870         (WebCore::ScrollbarThemeChromiumMac::paint):
1871         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1872         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
1873         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
1874         (WebCore::ScrollbarThemeChromiumWin::paintButton):
1875         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
1876         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
1877         * platform/chromium/SharedTimerChromium.cpp:
1878         (WebCore::setSharedTimerFiredFunction):
1879         (WebCore::setSharedTimerFireTime):
1880         (WebCore::stopSharedTimer):
1881         * platform/chromium/SuddenTerminationChromium.cpp:
1882         (WebCore::disableSuddenTermination):
1883         (WebCore::enableSuddenTermination):
1884         * platform/chromium/SystemTimeChromium.cpp:
1885         (WebCore::currentTime):
1886         * platform/chromium/WritableDataObject.cpp:
1887         (WebCore::WritableDataObject::setData):
1888         * platform/graphics/chromium/CrossProcessFontLoading.mm:
1889         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1890         (WebCore::fontContainsCharacter):
1891         (WebCore::FillLogFont):
1892         * platform/graphics/chromium/FontCacheLinux.cpp:
1893         (WebCore::FontCache::getFontDataForCharacters):
1894         * platform/graphics/chromium/FontChromiumWin.cpp:
1895         (WebCore::Font::drawGlyphs):
1896         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1897         (WebCore::FontPlatformData::scriptFontProperties):
1898         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1899         (WebCore::FontPlatformData::querySystemForRenderStyle):
1900         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1901         (WebCore::fillBMPGlyphs):
1902         * platform/graphics/chromium/ImageChromium.cpp:
1903         (WebCore::Image::loadPlatformResource):
1904         * platform/graphics/chromium/ImageChromiumMac.mm:
1905         (WebCore::Image::loadPlatformResource):
1906         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1907         (WebCore::SimpleFontData::platformInit):
1908         (WebCore::SimpleFontData::determinePitch):
1909         (WebCore::SimpleFontData::platformWidthForGlyph):
1910         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
1911         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
1912         * platform/graphics/skia/FontCustomPlatformData.cpp:
1913         (WebCore::FontCustomPlatformData::fontPlatformData):
1914         * platform/network/chromium/CookieJarChromium.cpp:
1915         (WebCore::setCookies):
1916         (WebCore::cookies):
1917         (WebCore::cookieRequestHeaderFieldValue):
1918         (WebCore::cookiesEnabled):
1919         (WebCore::getRawCookies):
1920         (WebCore::deleteCookie):
1921         * platform/network/chromium/DNSChromium.cpp:
1922         (WebCore::prefetchDNS):
1923         * platform/qt/PlatformBridge.h:
1924         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
1925         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
1926         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
1927         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
1928         (chromiumOpen):
1929         (chromiumDelete):
1930         (chromiumAccess):
1931         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
1932         * plugins/chromium/PluginDataChromium.cpp:
1933         (WebCore::PluginCache::plugins):
1934         * rendering/RenderThemeChromiumMac.mm:
1935         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
1936         * rendering/RenderThemeChromiumSkia.cpp:
1937         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
1938         * rendering/RenderThemeChromiumWin.cpp:
1939         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
1940         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
1941         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
1942         (WebCore::RenderThemeChromiumWin::systemColor):
1943         (WebCore::RenderThemeChromiumWin::paintButton):
1944         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
1945         (WebCore::menuListButtonWidth):
1946         (WebCore::RenderThemeChromiumWin::paintMenuList):
1947         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
1948         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
1949         (WebCore::RenderThemeChromiumWin::paintProgressBar):
1950         * storage/chromium/IDBFactoryBackendInterface.cpp:
1951         (WebCore::IDBFactoryBackendInterface::create):
1952         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
1953         * storage/chromium/IDBKeyPathBackendImpl.cpp:
1954         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
1955
1956 2011-01-19  Helder Correia  <helder@sencha.com>
1957
1958         Reviewed by Andreas Kling.
1959
1960         [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha
1961         https://bugs.webkit.org/show_bug.cgi?id=52705
1962
1963         This is related to bug 52611. The shadow color alpha must be multiplied
1964         by the context pen alpha. Fixing this results in correct behavior for
1965         Canvas path stroke() and strokeRect() [which relies on stroke()].
1966
1967         Tests: fast/canvas/canvas-strokePath-alpha-shadow.html
1968                fast/canvas/canvas-strokeRect-alpha-shadow.html
1969
1970         * platform/graphics/qt/GraphicsContextQt.cpp:
1971         (WebCore::GraphicsContext::strokePath):
1972
1973 2011-01-19  Darin Fisher  <darin@chromium.org>
1974
1975         Reviewed by Mihai Parparita.
1976
1977         Re-initialize the HistoryItem fully when navigating to a HistoryItem,
1978         or replacing a HistoryItem, results in a different URL.
1979
1980         https://bugs.webkit.org/show_bug.cgi?id=49654
1981
1982         This patch also forces all HistoryItems to record the post-redirect
1983         URL.  Previously, frames would remember the pre-redirect URL.  This is
1984         problematic since other members of the HistoryItem correspond to the
1985         post-redirect URL.
1986
1987         Tests: fast/history/history-replace-updates-current-item.html
1988                http/tests/navigation/redirect-on-back-updates-history-item.html
1989                http/tests/navigation/redirect-on-reload-updates-history-item.html
1990
1991         * history/HistoryItem.cpp:
1992         (WebCore::HistoryItem::HistoryItem):
1993         (WebCore::HistoryItem::reset):
1994         * history/HistoryItem.h:
1995         * loader/HistoryController.cpp:
1996         (WebCore::HistoryController::updateForBackForwardNavigation):
1997         (WebCore::HistoryController::updateForReload):
1998         (WebCore::HistoryController::updateForStandardLoad):
1999         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
2000         (WebCore::HistoryController::initializeItem):
2001         (WebCore::HistoryController::createItem):
2002         (WebCore::HistoryController::createItemTree):
2003         (WebCore::HistoryController::updateCurrentItem):
2004         * loader/HistoryController.h:
2005
2006 2011-01-19  Adam Klein  <adamk@chromium.org>
2007
2008         Reviewed by Darin Fisher.
2009
2010         [chromium] Rename ChromiumBridge to PlatformBridge
2011         https://bugs.webkit.org/show_bug.cgi?id=52471
2012
2013         No tests added as this is a rename; no change in behavior.
2014
2015         * WebCore.gypi:
2016         * bindings/v8/V8DOMWindowShell.cpp:
2017         (WebCore::reportFatalErrorInV8):
2018         * page/PageGroup.cpp:
2019         (WebCore::PageGroup::isLinkVisited):
2020         * platform/android/PlatformBridge.h:
2021         * platform/audio/chromium/AudioBusChromium.cpp:
2022         (WebCore::createBusFromInMemoryAudioFile):
2023         * platform/chromium/ChromiumBridge.h: Removed.
2024         * platform/chromium/ChromiumDataObjectLegacy.cpp:
2025         (WebCore::ChromiumDataObjectLegacy::getData):
2026         * platform/chromium/DragDataChromium.cpp:
2027         (WebCore::DragData::asURL):
2028         * platform/chromium/FileSystemChromium.cpp:
2029         (WebCore::deleteFile):
2030         (WebCore::deleteEmptyDirectory):
2031         (WebCore::getFileSize):
2032         (WebCore::getFileModificationTime):
2033         (WebCore::revealFolderInOS):
2034         (WebCore::directoryName):
2035         (WebCore::pathByAppendingComponent):
2036         (WebCore::makeAllDirectories):
2037         (WebCore::fileExists):
2038         (WebCore::openFile):
2039         (WebCore::closeFile):
2040         (WebCore::seekFile):
2041         (WebCore::truncateFile):
2042         (WebCore::readFromFile):
2043         (WebCore::writeToFile):
2044         * platform/chromium/LanguageChromium.cpp:
2045         (WebCore::platformDefaultLanguage):
2046         * platform/chromium/LinkHashChromium.cpp:
2047         (WebCore::visitedLinkHash):
2048         * platform/chromium/MIMETypeRegistryChromium.cpp:
2049         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2050         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
2051         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
2052         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
2053         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
2054         * platform/chromium/PasteboardChromium.cpp:
2055         (WebCore::Pasteboard::writeSelection):
2056         (WebCore::Pasteboard::writePlainText):
2057         (WebCore::Pasteboard::writeURL):
2058         (WebCore::Pasteboard::writeImage):
2059         (WebCore::Pasteboard::canSmartReplace):
2060         (WebCore::Pasteboard::plainText):
2061         (WebCore::Pasteboard::documentFragment):
2062         * platform/chromium/PlatformBridge.h:
2063         * platform/chromium/PlatformScreenChromium.cpp:
2064         (WebCore::screenDepth):
2065         (WebCore::screenDepthPerComponent):
2066         (WebCore::screenIsMonochrome):
2067         (WebCore::screenRect):
2068         (WebCore::screenAvailableRect):
2069         * platform/chromium/ReadableDataObject.cpp:
2070         (WebCore::ReadableDataObject::getData):
2071         (WebCore::ReadableDataObject::urlTitle):
2072         (WebCore::ReadableDataObject::htmlBaseUrl):
2073         (WebCore::ReadableDataObject::filenames):
2074         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
2075         * platform/chromium/SSLKeyGeneratorChromium.cpp:
2076         (WebCore::signedPublicKeyAndChallengeString):
2077         * platform/chromium/ScrollbarThemeChromium.cpp:
2078         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2079         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
2080         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
2081         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
2082         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
2083         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
2084         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
2085         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2086         (WebCore::scrollbarStateToThemeState):
2087         (WebCore::ScrollbarThemeChromiumMac::paint):
2088         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
2089         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
2090         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
2091         (WebCore::ScrollbarThemeChromiumWin::paintButton):
2092         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
2093         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
2094         * platform/chromium/SharedTimerChromium.cpp:
2095         (WebCore::setSharedTimerFiredFunction):
2096         (WebCore::setSharedTimerFireTime):
2097         (WebCore::stopSharedTimer):
2098         * platform/chromium/SuddenTerminationChromium.cpp:
2099         (WebCore::disableSuddenTermination):
2100         (WebCore::enableSuddenTermination):
2101         * platform/chromium/SystemTimeChromium.cpp:
2102         (WebCore::currentTime):
2103         * platform/chromium/WritableDataObject.cpp:
2104         (WebCore::WritableDataObject::setData):
2105         * platform/graphics/chromium/CrossProcessFontLoading.mm:
2106         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2107         (WebCore::fontContainsCharacter):
2108         (WebCore::FillLogFont):
2109         * platform/graphics/chromium/FontCacheLinux.cpp:
2110         (WebCore::FontCache::getFontDataForCharacters):
2111         * platform/graphics/chromium/FontChromiumWin.cpp:
2112         (WebCore::Font::drawGlyphs):
2113         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2114         (WebCore::FontPlatformData::scriptFontProperties):
2115         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2116         (WebCore::FontPlatformData::querySystemForRenderStyle):
2117         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
2118         (WebCore::fillBMPGlyphs):
2119         * platform/graphics/chromium/ImageChromium.cpp:
2120         (WebCore::Image::loadPlatformResource):
2121         * platform/graphics/chromium/ImageChromiumMac.mm:
2122         (WebCore::Image::loadPlatformResource):
2123         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2124         (WebCore::SimpleFontData::platformInit):
2125         (WebCore::SimpleFontData::determinePitch):
2126         (WebCore::SimpleFontData::platformWidthForGlyph):
2127         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
2128         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
2129         * platform/graphics/skia/FontCustomPlatformData.cpp:
2130         (WebCore::FontCustomPlatformData::fontPlatformData):
2131         * platform/network/chromium/CookieJarChromium.cpp:
2132         (WebCore::setCookies):
2133         (WebCore::cookies):
2134         (WebCore::cookieRequestHeaderFieldValue):
2135         (WebCore::cookiesEnabled):
2136         (WebCore::getRawCookies):
2137         (WebCore::deleteCookie):
2138         * platform/network/chromium/DNSChromium.cpp:
2139         (WebCore::prefetchDNS):
2140         * platform/qt/PlatformBridge.h:
2141         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
2142         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
2143         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
2144         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
2145         (chromiumOpen):
2146         (chromiumDelete):
2147         (chromiumAccess):
2148         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
2149         * plugins/chromium/PluginDataChromium.cpp:
2150         (WebCore::PluginCache::plugins):
2151         * rendering/RenderThemeChromiumMac.mm:
2152         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
2153         * rendering/RenderThemeChromiumSkia.cpp:
2154         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
2155         * rendering/RenderThemeChromiumWin.cpp:
2156         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
2157         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
2158         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
2159         (WebCore::RenderThemeChromiumWin::systemColor):
2160         (WebCore::RenderThemeChromiumWin::paintButton):
2161         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
2162         (WebCore::menuListButtonWidth):
2163         (WebCore::RenderThemeChromiumWin::paintMenuList):
2164         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2165         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
2166         (WebCore::RenderThemeChromiumWin::paintProgressBar):
2167         * storage/chromium/IDBFactoryBackendInterface.cpp:
2168         (WebCore::IDBFactoryBackendInterface::create):
2169         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
2170         * storage/chromium/IDBKeyPathBackendImpl.cpp:
2171         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
2172
2173 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2174
2175         Unreviewed, rolling out r76187.
2176         http://trac.webkit.org/changeset/76187
2177         https://bugs.webkit.org/show_bug.cgi?id=52778
2178
2179         Broke caret-showing tests on SnowLeopard and Chromium
2180         (Requested by dimich on #webkit).
2181
2182         * rendering/RenderText.cpp:
2183         (WebCore::RenderText::localCaretRect):
2184
2185 2011-01-19  Yuzo Fujishima  <yuzo@google.com>
2186
2187         Reviewed by Kent Tamura.
2188
2189         Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks
2190         https://bugs.webkit.org/show_bug.cgi?id=52279
2191
2192         In constructing text fragments to handle first-letter rule, first add
2193         the text for the non-first letters and then remove the original text,
2194         rather than the other way around. Otherwise, the text can be added to
2195         an anoymous block that is different from the original one. This breaks
2196         the assumption that a first letter render object has a non-null sibling
2197         for the non-first letters and causes a crash.
2198
2199         Test: fast/css/first-letter-anonymous-block-crash.html
2200
2201         * rendering/RenderBlock.cpp:
2202         (WebCore::RenderBlock::updateFirstLetter):
2203
2204 2011-01-19  James Robinson  <jamesr@chromium.org>
2205
2206         Unreviewed, rolling out r76194.
2207         http://trac.webkit.org/changeset/76194
2208         https://bugs.webkit.org/show_bug.cgi?id=51218
2209
2210         Caused mysterious compile failure on the chromium win
2211         build.webkit.org bots
2212
2213         * WebCore.gypi:
2214         * dom/Document.cpp:
2215         (WebCore::Document::Document):
2216         * dom/Document.h:
2217         * dom/RequestAnimationFrameCallback.h: Removed.
2218         * dom/RequestAnimationFrameCallback.idl: Removed.
2219         * loader/EmptyClients.h:
2220         * page/Chrome.cpp:
2221         * page/Chrome.h:
2222         * page/ChromeClient.h:
2223         * page/DOMWindow.cpp:
2224         * page/DOMWindow.h:
2225         * page/DOMWindow.idl:
2226         * page/FrameView.cpp:
2227         * page/FrameView.h:
2228         * platform/HostWindow.h:
2229
2230 2011-01-19  Simon Fraser  <simon.fraser@apple.com>
2231
2232         Reviewed by Sam Weinig.
2233
2234         GraphicsLayers in subframes can get sync'd multiple times
2235         https://bugs.webkit.org/show_bug.cgi?id=52489
2236
2237         Some cleanup that will work towards fixing this bug.
2238         
2239         Tested by existing iframe compositing tests.
2240
2241         * WebCore.exp.in: syncCompositingStateRecursive()
2242         was renamed to syncCompositingStateIncludingSubframes().
2243
2244         * page/FrameView.h:
2245         * page/FrameView.cpp:
2246         (WebCore::FrameView::syncCompositingStateForThisFrame): Some
2247         code cleanup: do all the word we need to do for this frame,
2248         including the needsLayout() check.
2249         (WebCore::FrameView::syncCompositingStateIncludingSubframes):
2250         This is no longer recursive; instead, it iterates over descendant
2251         frames via the frame tree, calling syncCompositingStateForThisFrame()
2252         on each Frame's view.
2253
2254         * rendering/RenderLayerCompositor.h:
2255         (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag.
2256         * rendering/RenderLayerCompositor.cpp: 
2257         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2258         (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain
2259         a flag to say if we're flushing, which allows us to assert on re-entrant flushes.
2260         (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
2261         Add the ability to get the rootmost compositor that is in the middle
2262         of a flush.
2263
2264 2011-01-19  James Robinson  <jamesr@chromium.org>
2265
2266         Reviewed by Darin Fisher.
2267
2268         Implement mozilla's requestAnimationFrame API
2269         https://bugs.webkit.org/show_bug.cgi?id=51218
2270
2271         This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
2272         an author driving an animation from script could use window.requestAnimationFrame(callback)
2273         instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
2274         decide when to update the animations.  This avoids doing unnecessary work when the page content
2275         is offscreen or is being displayed at a different framerate than what the page author expects.
2276
2277         Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
2278         This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
2279         following changes:
2280         *) Only the callback syntax is supported, there is no before paint event
2281         *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
2282             what content they intend to animate.  That way if the page is being displayed but the element
2283             in question is offscreen, we can avoid invoking the callback.
2284         *) No timestamp is provided to the caller and there is no window.animationStartTime property
2285             (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
2286         *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
2287             using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
2288
2289         The implementation depends on the embedder scheduling the callbacks since the callback invocation
2290         depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
2291         to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
2292         called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
2293         Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
2294         embedder has to rate limit callbacks and may not be able to tie the callback directly to the
2295         rendering loop.
2296
2297         Tests: fast/animation/request-animation-frame-cancel.html
2298                fast/animation/request-animation-frame-cancel2.html
2299                fast/animation/request-animation-frame-display.html
2300                fast/animation/request-animation-frame-within-callback.html
2301                fast/animation/request-animation-frame.html
2302
2303         * WebCore.gypi:
2304         * dom/Document.cpp:
2305         (WebCore::Document::Document):
2306         (WebCore::Document::webkitRequestAnimationFrame):
2307         (WebCore::Document::webkitCancelRequestAnimationFrame):
2308         (WebCore::Document::serviceScriptedAnimations):
2309         * dom/Document.h:
2310         * dom/RequestAnimationFrameCallback.h: Added.
2311         (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
2312         * dom/RequestAnimationFrameCallback.idl: Added.
2313         * loader/EmptyClients.h:
2314         (WebCore::EmptyChromeClient::scheduleAnimation):
2315         * page/Chrome.cpp:
2316         (WebCore::Chrome::scheduleAnimation):
2317         * page/Chrome.h:
2318         * page/ChromeClient.h:
2319         * page/DOMWindow.cpp:
2320         (WebCore::DOMWindow::webkitRequestAnimationFrame):
2321         (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
2322         * page/DOMWindow.h:
2323         * page/DOMWindow.idl:
2324         * page/FrameView.cpp:
2325         (WebCore::FrameView::scheduleAnimation):
2326         (WebCore::FrameView::serviceScriptedAnimations):
2327         * page/FrameView.h:
2328         * platform/HostWindow.h:
2329
2330 2011-01-13  Martin Robinson  <mrobinson@igalia.com>
2331
2332         Reviewed by Daniel Bates.
2333
2334         [GTK] Move progress bar painting out of gtk2drawing.c
2335         https://bugs.webkit.org/show_bug.cgi?id=52385
2336
2337         Move progress bar painting to RenderThemeGtk2 and share some animation
2338         logic between the GTK+ 2.x and GTK+ 3.x port.
2339
2340         No new tests. This should not change functionality.
2341
2342         * platform/gtk/RenderThemeGtk.cpp:
2343         (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): Moved from RenderThemeGtk3.
2344         (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
2345         (WebCore::RenderThemeGtk::calculateProgressRect): Calculate the proper rectangle for the
2346         progress indicator given the rect for the maximum size of the indicator.
2347         * platform/gtk/RenderThemeGtk.h: Added calculateProgressRect declaration and
2348         a new widget member for GTK+ 2.x
2349         * platform/gtk/RenderThemeGtk2.cpp:
2350         (WebCore::RenderThemeGtk::platformInit): Added initialization for the new widget member.
2351         (WebCore::RenderThemeGtk::paintProgressBar): Paint the progress bar manually instead of
2352         calling the old Mozilla code.
2353         (WebCore::RenderThemeGtk::gtkProgressBar): Added.
2354         * platform/gtk/RenderThemeGtk3.cpp:
2355         (WebCore::RenderThemeGtk::paintProgressBar): Call calculateProgressRect now to get
2356         the area of the progress indicator.
2357         * platform/gtk/gtk2drawing.c: Remove unused code.
2358         (moz_gtk_get_widget_border):
2359         (moz_gtk_widget_paint):
2360         * platform/gtk/gtkdrawing.h: Ditto.
2361
2362 2011-01-19  Dmitry Titov  <dimich@chromium.org>
2363
2364         [Chromium] Not reviewed, reverts the following changes:
2365         http://trac.webkit.org/changeset/76164 (build fix)
2366         http://trac.webkit.org/changeset/76159 (main change)
2367
2368         The change broke Chromium Linux-shlib build.
2369
2370         Original issue:
2371         Accelerated canvas2D has bad clipping performance.
2372         https://bugs.webkit.org/show_bug.cgi?id=52627
2373
2374         * WebCore.gyp/WebCore.gyp:
2375         * WebCore.gypi:
2376         * html/canvas/CanvasRenderingContext2D.cpp:
2377         (WebCore::CanvasRenderingContext2D::reset):
2378         (WebCore::CanvasRenderingContext2D::platformLayer):
2379         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2380         (WebCore::DrawingBuffer::DrawingBuffer):
2381         * platform/graphics/chromium/GLES2Canvas.cpp:
2382         (WebCore::GLES2Canvas::State::State):
2383         (WebCore::GLES2Canvas::clearRect):
2384         (WebCore::GLES2Canvas::fillRect):
2385         (WebCore::GLES2Canvas::restore):
2386         (WebCore::GLES2Canvas::drawTexturedRect):
2387         * platform/graphics/chromium/GLES2Canvas.h:
2388         * platform/graphics/gpu/DrawingBuffer.cpp:
2389         (WebCore::DrawingBuffer::clear):
2390         (WebCore::DrawingBuffer::createSecondaryBuffers):
2391         (WebCore::DrawingBuffer::reset):
2392         * platform/graphics/gpu/DrawingBuffer.h:
2393         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2394         (WebCore::SharedGraphicsContext3D::create):
2395         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2396         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
2397         (WebCore::DrawingBuffer::DrawingBuffer):
2398         * platform/graphics/skia/GraphicsContextSkia.cpp:
2399         (WebCore::GraphicsContext::canvasClip):
2400         (WebCore::GraphicsContext::clipOut):
2401         (WebCore::GraphicsContext::clipPath):
2402         (WebCore::GraphicsContext::fillPath):
2403         * platform/graphics/skia/PlatformContextSkia.cpp:
2404         (WebCore::PlatformContextSkia::canAccelerate):
2405         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
2406         * thirdparty/glu/README.webkit:
2407         * thirdparty/glu/gluos.h:
2408         * thirdparty/glu/libtess/geom.c:
2409         * thirdparty/glu/libtess/priorityq.c:
2410         * thirdparty/glu/libtess/render.c:
2411         * thirdparty/glu/libtess/sweep.c:
2412         (IsWindingInside):
2413         (DoneEdgeDict):
2414
2415 2011-01-19  Levi Weintraub  <leviw@google.com>
2416
2417         Reviewed by Darin Adler.
2418
2419         Re-committing this with the proper expected results.
2420
2421         Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
2422         logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
2423         resulted in the caret being placed incorrectly in overflowing editable IFrame content.
2424
2425         Long lines in non-white-space-pre editable documents show cursor in wrong place
2426         https://bugs.webkit.org/show_bug.cgi?id=48132
2427
2428         Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
2429
2430         * rendering/RenderText.cpp:
2431         (WebCore::RenderText::localCaretRect):
2432
2433 2011-01-18 MORITA Hajime <morrita@google.com>
2434
2435         Reviewed by David Levin.
2436
2437         ElementRareData::m_shadowRoot should not be RefPtr.
2438         https://bugs.webkit.org/show_bug.cgi?id=51914
2439
2440         Makes ElementRareData::m_shadowRoot a raw pointer because
2441         ElementRareData::m_shadowRoot should be like a
2442         ContaineNode::m_firstChild, which is also a raw pointer.
2443         pointer. Which also means that both the shadow root and the shadow
2444         host reference each other as a parent-and-child relationship, via
2445         a raw pointer.
2446         
2447         Note that it is safe not to manipulate the ref-count of
2448         m_shadowRoot because Node::m_parent of the shadow root points its
2449         shadow host, and the object isn't deleted even if the refcount is
2450         zero, as long as the node has non-null m_parent. (See TreeShared.)
2451         
2452         The shadow root node is finally destroyed inside
2453         removeShadowRoot(), where we store the root node into a local
2454         RefPtr, then make the node's m_parent null, which results the
2455         destroy the node, at the end of the function, by RefPtr::~RefPtr.
2456         
2457         No new tests. No behavioral change.
2458
2459         * dom/Element.cpp:
2460         (WebCore::Element::~Element):
2461         (WebCore::Element::shadowRoot):
2462         (WebCore::Element::setShadowRoot):
2463         (WebCore::Element::removeShadowRoot):
2464         * dom/ElementRareData.h:
2465         (WebCore::ElementRareData::ElementRareData):
2466         (WebCore::ElementRareData::~ElementRareData):
2467
2468 2011-01-12  Martin Robinson  <mrobinson@igalia.com>
2469
2470         Reviewed by Gustavo Noronha Silva.
2471
2472         [GTK] Move text field painting out of gtk2drawing.c
2473         https://bugs.webkit.org/show_bug.cgi?id=52327
2474
2475         No new tests. This should not change behavior.
2476
2477         * platform/gtk/RenderThemeGtk2.cpp:
2478         (WebCore::RenderThemeGtk::paintButton): Use the setWidgetHasFocus helper.
2479         (WebCore::RenderThemeGtk::paintTextField): Do this manually now instead
2480         of calling into the Mozilla code.
2481         * platform/gtk/WidgetRenderingContext.cpp: Added a couple more wrappers
2482         for GTK+ theme functions.
2483         (WebCore::WidgetRenderingContext::gtkPaintFlatBox):
2484         (WebCore::WidgetRenderingContext::gtkPaintShadow):
2485         * platform/gtk/WidgetRenderingContext.h: Added new method declarations.
2486         * platform/gtk/gtk2drawing.c: Remove unused code.
2487         (moz_gtk_get_widget_border):
2488         (moz_gtk_widget_paint):
2489         * platform/gtk/gtkdrawing.h:
2490
2491 2011-01-19  Antti Koivisto  <antti@apple.com>
2492
2493         Reviewed by Oliver Hunt.
2494
2495         Cache function offsets to speed up javascript parsing
2496         https://bugs.webkit.org/show_bug.cgi?id=52622
2497         
2498         Use cache to save function offsets and some other info.
2499         This avoids quite a bit of work when reparsing the source.
2500
2501         * bindings/js/CachedScriptSourceProvider.h:
2502         (WebCore::CachedScriptSourceProvider::cache):
2503         (WebCore::CachedScriptSourceProvider::cacheSizeChanged):
2504         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
2505         * bindings/js/ScriptSourceProvider.h:
2506         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
2507         * loader/cache/CachedScript.cpp:
2508         (WebCore::CachedScript::destroyDecodedData):
2509         (WebCore::CachedScript::sourceProviderCache):
2510         (WebCore::CachedScript::sourceProviderCacheSizeChanged):
2511         * loader/cache/CachedScript.h:
2512
2513 2011-01-11  Martin Robinson  <mrobinson@igalia.com>
2514
2515         Reviewed by Gustavo Noronha Silva.
2516
2517         [GTK] Move toggle button rendering out of gtk2drawing.c
2518         https://bugs.webkit.org/show_bug.cgi?id=52258
2519
2520         * platform/gtk/RenderThemeGtk.h:
2521         * platform/gtk/RenderThemeGtk2.cpp:
2522         (WebCore::RenderThemeGtk::platformInit): Initialize new button members.
2523         (WebCore::adjustRectForFocus): Added this function which inflates a rect based
2524         on a widget's exterior focus.
2525         (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus.
2526         (WebCore::setToggleSize): Only listen to indicator-size to properly size
2527         checkboxes and radio buttons.
2528         (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly.
2529         (WebCore::paintToggle): Added.
2530         (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle.
2531         (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly.
2532         (WebCore::RenderThemeGtk::paintRadio): Call paintToggle.
2533         (WebCore::RenderThemeGtk::gtkRadioButton): Added.
2534         (WebCore::RenderThemeGtk::gtkCheckButton): Added.
2535         * platform/gtk/WidgetRenderingContext.cpp:
2536         (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space
2537         variable. This is good enough for all themes that I've tested and prevents having to
2538         pass information from RenderThemeGtk about every single type of widget.
2539         (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect
2540         to draw instead of m_paintRect. This is important when we're painting
2541         something that isn't the size of the total rect.
2542         (WebCore::WidgetRenderingContext::gtkPaintCheck): Added.
2543         (WebCore::WidgetRenderingContext::gtkPaintOption): Added.
2544         * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods.
2545         * platform/gtk/gtkdrawing.h: Remove newly unused code.
2546         * platform/gtk/gtk2drawing.c: Ditto.
2547
2548 2011-01-19  Tony Gentilcore  <tonyg@chromium.org>
2549
2550         Unreviewed build fix.
2551
2552         Build fix for r76170
2553         https://bugs.webkit.org/show_bug.cgi?id=52758
2554
2555         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
2556
2557 2011-01-19  David D. Kilzer  <ddkilzer@apple.com>
2558
2559         <http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO
2560
2561         Reviewed by Eric Carlson.
2562
2563         * loader/FrameLoader.cpp: Declare the methods here.
2564         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
2565         (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
2566         * loader/FrameLoader.cpp: Moved methods to here...
2567         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
2568         (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
2569         * loader/SubframeLoader.cpp: ...from here.
2570         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
2571         (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
2572
2573 2011-01-19  Tony Gentilcore  <tonyg@chromium.org>
2574
2575         Reviewed by Mihai Parparita.
2576
2577         Perform some forward declaration
2578         https://bugs.webkit.org/show_bug.cgi?id=52522
2579
2580         No new tests because no new functionality.
2581
2582         * accessibility/AccessibilityObject.h:
2583         * css/WebKitCSSMatrix.cpp:
2584         * html/HTMLAreaElement.cpp:
2585         * html/canvas/CanvasRenderingContext2D.cpp:
2586         * inspector/InspectorController.cpp:
2587         * platform/graphics/FloatPoint.cpp:
2588         * platform/graphics/Font.cpp:
2589         * platform/graphics/Font.h:
2590         * platform/graphics/FontFastPath.cpp:
2591         * platform/graphics/GraphicsContext.cpp:
2592         * platform/graphics/ImageBuffer.h:
2593         * platform/graphics/StringTruncator.cpp:
2594         * platform/graphics/WidthIterator.cpp:
2595         * platform/graphics/mac/ComplexTextController.cpp:
2596         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
2597         * platform/graphics/mac/FontComplexTextMac.cpp:
2598         * platform/graphics/transforms/TransformationMatrix.cpp:
2599         * platform/graphics/transforms/TransformationMatrix.h:
2600         * rendering/EllipsisBox.cpp:
2601         * rendering/InlineTextBox.cpp:
2602         * rendering/RenderBlock.cpp:
2603         * rendering/RenderBlockLineLayout.cpp:
2604         * rendering/RenderEmbeddedObject.cpp:
2605         * rendering/RenderFileUploadControl.cpp:
2606         * rendering/RenderFlexibleBox.cpp:
2607         * rendering/RenderImage.cpp:
2608         * rendering/RenderListBox.cpp:
2609         * rendering/RenderListMarker.cpp:
2610         * rendering/RenderMenuList.cpp:
2611         * rendering/RenderObject.h:
2612         * rendering/RenderText.cpp:
2613         * rendering/RenderTextControl.cpp:
2614         * rendering/svg/SVGInlineTextBox.cpp:
2615         * rendering/svg/SVGMarkerLayoutInfo.h:
2616         * rendering/svg/SVGTextMetrics.cpp:
2617         * svg/SVGFont.cpp:
2618
2619 2011-01-19  Adrienne Walker  <enne@google.com>
2620
2621         Reviewed by Kenneth Russell.
2622
2623         [chromium] Tiled compositor should use texture manager
2624         https://bugs.webkit.org/show_bug.cgi?id=52418
2625
2626         Test: compositing/
2627
2628         * platform/graphics/chromium/LayerRendererChromium.cpp:
2629         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2630         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2631         * platform/graphics/chromium/LayerTilerChromium.cpp:
2632         (WebCore::LayerTilerChromium::LayerTilerChromium):
2633         (WebCore::LayerTilerChromium::reset):
2634         (WebCore::LayerTilerChromium::createTile):
2635         (WebCore::LayerTilerChromium::update):
2636         (WebCore::LayerTilerChromium::draw):
2637         * platform/graphics/chromium/LayerTilerChromium.h:
2638         (WebCore::LayerTilerChromium::Tile::Tile):
2639         (WebCore::LayerTilerChromium::Tile::texture):
2640
2641 2011-01-19  Stephen White  <senorblanco@chromium.org>
2642
2643         Unreviewed; build fix for chromium.
2644
2645         * platform/graphics/chromium/GLES2Canvas.cpp:
2646         (WebCore::GLES2Canvas::fillPath):
2647
2648 2011-01-18  Stephen White  <senorblanco@chromium.org>
2649
2650         Reviewed by James Robinson.
2651
2652         Implement accelerated path drawing and clipping for the Canvas2D GPU
2653         path.
2654         https://bugs.webkit.org/show_bug.cgi?id=52627
2655         
2656         This is done with a simple curve interpolator and the GLU tesselator,
2657         which is good enough for a 3-5X speedup on
2658         http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
2659
2660         Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
2661         All tests canvas/philip and fast/canvas paths pass with no
2662         regressions, although two have minor pixel differences which require
2663         rebaselining.
2664
2665         * WebCore.gyp/WebCore.gyp:
2666         Add internal_glu include path to chromium build.
2667         * WebCore.gypi:
2668         Add internal_glu files to chromium build.
2669         * html/canvas/CanvasRenderingContext2D.cpp:
2670         (WebCore::CanvasRenderingContext2D::reset):
2671         (WebCore::CanvasRenderingContext2D::platformLayer):
2672         Make CanvasRenderingContext2D more robust against failure to create
2673         a DrawingBuffer.
2674         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2675         (WebCore::DrawingBuffer::DrawingBuffer):
2676         As in DrawingBufferMac.cpp, call reset() from the constructor.
2677         Also initialize size to (-1, -1), so reset() doesn't early-out.
2678         Add initializers for depthBuffer and stencilBuffer, and remove
2679         multisampleDepthStencilBuffer.
2680         * platform/graphics/chromium/GLES2Canvas.cpp:
2681         Remove some unused #includes.
2682         (WebCore::GLES2Canvas::State::State):
2683         Add clipping state, and implement save/restore via the copy constructor.
2684         (WebCore::operator*):
2685         (WebCore::Quadratic::Quadratic):
2686         (WebCore::Quadratic::fromBezier):
2687         (WebCore::Quadratic::evaluate):
2688         Quadratic Bezier curve class.
2689         (WebCore::Cubic::Cubic):
2690         (WebCore::Cubic::fromBezier):
2691         (WebCore::Cubic::evaluate):
2692         Cubic Bezier curve class.
2693         (WebCore::GLES2Canvas::clearRect):
2694         Add clipping support to clearRect().
2695         (WebCore::GLES2Canvas::fillPath):
2696         Implement fillPath().
2697         (WebCore::GLES2Canvas::fillRect):
2698         Add clipping support to fillRect().
2699         (WebCore::GLES2Canvas::clipPath):
2700         Implement clipPath().
2701         (WebCore::GLES2Canvas::clipOut):
2702         Stub out clipOut() (not called by Canvas 2D).
2703         (WebCore::GLES2Canvas::restore):
2704         When restoring, draw any remaining clipping paths to the stencil buffer.
2705         (WebCore::GLES2Canvas::drawTexturedRect):
2706         Add clipping support.
2707         (WebCore::interpolateQuadratic):
2708         (WebCore::interpolateCubic):
2709         Simple curve interpolation, using the Cubic and Quadratic classes.
2710         (WebCore::PolygonData::PolygonData):
2711         A struct to hold the tesselation data for callbacks.
2712         (WebCore::beginData):
2713         (WebCore::edgeFlagData):
2714         (WebCore::vertexData):
2715         (WebCore::endData):
2716         (WebCore::combineData):
2717         internal_glu tesselation callbacks.
2718         (WebCore::GLES2Canvas::createVertexBufferFromPath):
2719         Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
2720         (WebCore::GLES2Canvas::beginStencilDraw):
2721         Enable stencilling, and disable draws to the color buffer.
2722         (WebCore::GLES2Canvas::applyClipping):
2723         If clipping is enabled, set the appropriate GL state.
2724         * platform/graphics/chromium/GLES2Canvas.h:
2725         Document the flavours of drawTexturedRect() a bit, so I don't get confused.
2726         * platform/graphics/gpu/DrawingBuffer.cpp:
2727         (WebCore::DrawingBuffer::clear):
2728         (WebCore::DrawingBuffer::createSecondaryBuffers):
2729         (WebCore::DrawingBuffer::resizeDepthStencil):
2730         (WebCore::DrawingBuffer::reset):
2731         * platform/graphics/gpu/DrawingBuffer.h:
2732         Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
2733         Implement separate depth and stencil buffers for when
2734         OES_packed_depth_stencil is not available.  Refactor creation of
2735         multisampled and non-multisampled depth and stencil buffers into
2736         resizeDepthStencil().
2737         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2738         (WebCore::SharedGraphicsContext3D::create):
2739         Turn on stencil, turn off depth, turn off antialiasing (for now).
2740         (WebCore::SharedGraphicsContext3D::enableStencil):
2741         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2742         Implement stencil enable/disable.
2743         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
2744         (WebCore::DrawingBuffer::DrawingBuffer):
2745         Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
2746         on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
2747         and m_stencilBuffer.
2748         * platform/graphics/skia/GraphicsContextSkia.cpp:
2749         (WebCore::GraphicsContext::canvasClip):
2750         (WebCore::GraphicsContext::clipOut):
2751         (WebCore::GraphicsContext::clipPath):
2752         (WebCore::GraphicsContext::fillPath):
2753         Put in GPU hooks for path clipping, and path drawing.
2754         * platform/graphics/skia/PlatformContextSkia.cpp:
2755         (WebCore::PlatformContextSkia::canAccelerate):
2756         Don't check for clipping paths in canAccelerate() (since we can
2757         now accelerate them).
2758         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
2759         Don't do clipping when uploading software draws to hardware.
2760         * thirdparty/glu/README.webkit:
2761         * thirdparty/glu/gluos.h:
2762         #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
2763         * thirdparty/glu/libtess/geom.c:
2764         * thirdparty/glu/libtess/priorityq.c:
2765         * thirdparty/glu/libtess/render.c:
2766         Use do{}while(0) instead of if(1)else construct in macro.
2767         * thirdparty/glu/libtess/sweep.c:
2768         (IsWindingInside):
2769         (DoneEdgeDict):
2770         Fix some warnings treated as errors for the Linux Release build.
2771
2772 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2773
2774         Unreviewed, rolling out r76144.
2775         http://trac.webkit.org/changeset/76144
2776         https://bugs.webkit.org/show_bug.cgi?id=52737
2777
2778         Broke tests on multiple bots, mostly Chromium Canaries
2779         (Requested by dimich on #webkit).
2780
2781         * rendering/RenderText.cpp:
2782         (WebCore::RenderText::localCaretRect):
2783
2784 2011-01-19  Simon Fraser  <simon.fraser@apple.com>
2785
2786         Reviewed by Adam Roben.
2787
2788         [CSS Gradients] Crash due to out-of-memory with repeating-linear-gradient and latter stop positioned before former
2789         https://bugs.webkit.org/show_bug.cgi?id=52732
2790         
2791         When repeating gradient stops, make sure that the first and last stops are not at the same
2792         place, otherwise we'll add stops indefinitely and run out of memory.
2793
2794         Test: fast/gradients/zero-range-repeating-gradient-hang.html
2795
2796         * css/CSSGradientValue.cpp:
2797         (WebCore::CSSGradientValue::addStops):
2798
2799 2011-01-14  Dimitri Glazkov  <dglazkov@chromium.org>
2800
2801         Reviewed by Darin Adler.
2802
2803         Remove event forwarding logic from input[type=range], simplify event flow and thumb positioning logic.
2804         https://bugs.webkit.org/show_bug.cgi?id=52464
2805
2806         This change has two parts:
2807
2808         1) Utilize shadow DOM event retargeting to get rid of forwarding events
2809            via render tree;
2810         2) Move thumb positioning logic from RenderSlider to SliderThumbElement.
2811
2812         These two are highly co-dependent. It looked ugly when I tried to
2813         separate them.
2814
2815         No change in behavior, covered by existing tests.
2816
2817         * html/HTMLInputElement.cpp:
2818         (WebCore::HTMLInputElement::defaultEventHandler): Added invocation of
2819             InputType::handleMouseDownEvent.
2820         * html/InputType.cpp:
2821         (WebCore::InputType::handleMouseDownEvent): Added empty decl.
2822         * html/InputType.h: Added def.
2823         * html/RangeInputType.cpp:
2824         (WebCore::RangeInputType::handleMouseDownEvent): Added to handle the case
2825             when the user clicks on the track of the slider. Also removed the
2826             forwardEvent method.
2827         * html/RangeInputType.h: Added/removed defs.
2828         * html/shadow/SliderThumbElement.cpp:
2829         (WebCore::SliderThumbElement::dragFrom): Added a helper method to start
2830             dragging from any position.
2831         (WebCore::SliderThumbElement::dragTo): Added a helper method to drag to
2832             specified position.
2833         (WebCore::SliderThumbElement::setPosition): Collapsed most of the positioning
2834             logic in RenderSlider into this method, which is now a simple calculation
2835             and adjusting of thumb position based on supplied coordinates.
2836         (WebCore::SliderThumbElement::startDragging): Added.
2837         (WebCore::SliderThumbElement::stopDragging): Added.
2838         (WebCore::SliderThumbElement::defaultEventHandler): Removed most of the
2839             old position-sniffing logic and replaced with simple calls to start,
2840             stop, and drag the thumb.
2841         * html/shadow/SliderThumbElement.h: Added defs.
2842         * rendering/RenderSlider.cpp: Removed a bunch of code that is no longer
2843             necessary.
2844         * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness.
2845
2846 2011-01-19  Shane Stephens  <shanestephens@google.com>
2847
2848         Reviewed by Chris Marrin.
2849
2850         Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major)
2851         https://bugs.webkit.org/show_bug.cgi?id=48031
2852
2853         Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and
2854         operator*= usage and switched operand order.
2855
2856         No new tests as this refactor doesn't add functionality.
2857
2858         * html/HTMLCanvasElement.cpp:
2859         (WebCore::HTMLCanvasElement::baseTransform):
2860         * html/canvas/CanvasRenderingContext2D.cpp:
2861         (WebCore::CanvasRenderingContext2D::transform):
2862         (WebCore::CanvasRenderingContext2D::setTransform):
2863         * platform/graphics/cg/PatternCG.cpp:
2864         (WebCore::Pattern::createPlatformPattern):
2865         * platform/graphics/chromium/GLES2Canvas.cpp:
2866         (WebCore::GLES2Canvas::fillRect):
2867         (WebCore::GLES2Canvas::concatCTM):
2868         (WebCore::GLES2Canvas::drawQuad):
2869         * platform/graphics/chromium/TransparencyWin.cpp:
2870         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
2871         (WebCore::TransparencyWin::setupTransformForKeepTransform):
2872         * platform/graphics/transforms/AffineTransform.cpp:
2873         (WebCore::AffineTransform::multiply):
2874         (WebCore::AffineTransform::rotate):
2875         * platform/graphics/transforms/AffineTransform.h:
2876         (WebCore::AffineTransform::operator*=):
2877         (WebCore::AffineTransform::operator*):
2878         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2879         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
2880         * platform/graphics/wince/SharedBitmap.cpp:
2881         (WebCore::SharedBitmap::drawPattern):
2882         * rendering/svg/RenderSVGResourceContainer.cpp:
2883         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
2884         * rendering/svg/RenderSVGResourceGradient.cpp:
2885         (WebCore::clipToTextMask):
2886         (WebCore::RenderSVGResourceGradient::applyResource):
2887         * rendering/svg/RenderSVGResourcePattern.cpp:
2888         (WebCore::RenderSVGResourcePattern::applyResource):
2889         * rendering/svg/RenderSVGRoot.cpp:
2890         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
2891         * rendering/svg/SVGImageBufferTools.cpp:
2892         (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem):
2893         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
2894         * rendering/svg/SVGTextLayoutEngine.cpp:
2895         (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
2896         * svg/SVGLocatable.cpp:
2897         (WebCore::SVGLocatable::computeCTM):
2898         (WebCore::SVGLocatable::getTransformToElement):
2899         * svg/SVGMatrix.h:
2900         (WebCore::SVGMatrix::multiply):
2901         * svg/SVGSVGElement.cpp:
2902         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
2903         (WebCore::SVGSVGElement::viewBoxToViewTransform):
2904         * svg/SVGStyledTransformableElement.cpp:
2905         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
2906         * svg/SVGTextElement.cpp:
2907         (WebCore::SVGTextElement::animatedLocalTransform):
2908         * svg/SVGTransformList.cpp:
2909         (WebCore::SVGTransformList::concatenate):
2910
2911 2011-01-19  Chang Shu  <chang.shu@nokia.com>
2912
2913         Reviewed by Darin Adler.
2914
2915         The return value of contentEditable() function should depend on the DOM attribute
2916         instead of render style userModify. The code change fixed test cases in the bug
2917         and partially fixed test cases in other contentEditable bugs;
2918
2919         https://bugs.webkit.org/show_bug.cgi?id=52056
2920
2921         * html/HTMLElement.cpp:
2922         (WebCore::HTMLElement::contentEditable):
2923
2924 2011-01-19  Levi Weintraub  <leviw@chromium.org>
2925
2926         Reviewed by Darin Adler.
2927
2928         Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
2929         logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
2930         resulted in the caret being placed incorrectly in overflowing editable IFrame content.
2931
2932         Long lines in non-white-space-pre editable documents show cursor in wrong place
2933         https://bugs.webkit.org/show_bug.cgi?id=48132
2934
2935         Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
2936
2937         * rendering/RenderText.cpp:
2938         (WebCore::RenderText::localCaretRect):
2939
2940 2011-01-19  Chris Marrin  <cmarrin@apple.com>
2941
2942         Reviewed by Simon Fraser.
2943
2944         WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
2945         https://bugs.webkit.org/show_bug.cgi?id=52695
2946
2947         Added ASSERTs to the places we assume a non-null superlayer.
2948
2949         * platform/graphics/ca/GraphicsLayerCA.cpp:
2950         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
2951         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
2952
2953 2011-01-18  Beth Dakin  <bdakin@apple.com>
2954
2955         Reviewed by Maciej Stachowiak.
2956
2957         Fix for <rdar://problem/8882916> Overlay scrollers require 
2958         content to layout underneath the scrollbar area
2959
2960         The render tree should not include scrollbar size for
2961         overlay scrollers. This patch will allow scrollers on
2962         the WebView to behave like overflow:overlay.
2963
2964         Treat overlay scrollers the same way as the !includeScrollbars
2965         case.
2966         * platform/ScrollView.cpp:
2967         (WebCore::ScrollView::visibleContentRect):
2968
2969         No corner rect for overlay scrollers.
2970         (WebCore::ScrollView::scrollCornerRect):
2971
2972         usesOverlayScrollbars() currently always returns no.
2973         * platform/ScrollbarTheme.h:
2974         (WebCore::ScrollbarTheme::usesOverlayScrollbars):
2975         * platform/mac/ScrollbarThemeMac.h:
2976         * platform/mac/ScrollbarThemeMac.mm:
2977         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2978
2979         includeVerticalScrollbarSize() and includeHorizontalScrollbarSize()
2980         should return false for overlay scrollers. They already return
2981         false for overflow:overlay.
2982         * rendering/RenderBox.cpp:
2983         (WebCore::RenderBox::includeVerticalScrollbarSize):
2984         (WebCore::RenderBox::includeHorizontalScrollbarSize):
2985         * rendering/RenderBox.h:
2986
2987         In the render tree, always treat overlay scrollers like
2988         they have a width and height of 0.
2989         * rendering/RenderLayer.cpp:
2990         (WebCore::RenderLayer::verticalScrollbarWidth):
2991         (WebCore::RenderLayer::horizontalScrollbarHeight):
2992         * rendering/RenderListBox.cpp:
2993         (WebCore::RenderListBox::verticalScrollbarWidth):
2994
2995 2011-01-18  Evan Martin  <evan@chromium.org>
2996
2997         Reviewed by Tony Chang.
2998
2999         [chromium] simplify complex text code, fixing a handful of layout tests
3000         https://bugs.webkit.org/show_bug.cgi?id=52661
3001
3002         Change ComplexTextControllerLinux to lay out RTL text to the left from
3003         the starting point.  (Previously it always went to the right.)  This allows
3004         us to map pixel offsets more directly into offsets within the text runs,
3005         simplifying a few of the text-fiddling functions (they no longer need to
3006         track the current position, as ComplexTextController now does it).
3007
3008         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
3009         (WebCore::ComplexTextController::ComplexTextController):
3010         (WebCore::ComplexTextController::reset):
3011         (WebCore::ComplexTextController::setGlyphXPositions):
3012         * platform/graphics/chromium/ComplexTextControllerLinux.h:
3013         (WebCore::ComplexTextController::offsetX):
3014         * platform/graphics/chromium/FontLinux.cpp:
3015         (WebCore::Font::drawComplexText):
3016         (WebCore::Font::floatWidthForComplexText):
3017         (WebCore::glyphIndexForXPositionInScriptRun):
3018         (WebCore::Font::offsetForPositionForComplexText):
3019         (WebCore::Font::selectionRectForComplexText):
3020
3021 2011-01-19  Pavel Feldman  <pfeldman@chromium.org>
3022
3023         Reviewed by Yury Semikhatsky.
3024
3025         Web Inspector: move methods from InjectedScript domain into DOM,
3026         Runtime and Debugger domains. Introduce InspectorRuntimeAgent.
3027         https://bugs.webkit.org/show_bug.cgi?id=52717
3028
3029         * CMakeLists.txt:
3030         * GNUmakefile.am:
3031         * WebCore.gypi:
3032         * WebCore.pro:
3033         * WebCore.vcproj/WebCore.vcproj:
3034         * WebCore.xcodeproj/project.pbxproj:
3035         * inspector/CodeGeneratorInspector.pm:
3036         * inspector/InjectedScript.cpp:
3037         (WebCore::InjectedScript::evaluateOnCallFrame):
3038         (WebCore::InjectedScript::getCompletions):
3039         (WebCore::InjectedScript::getCompletionsOnCallFrame):
3040         * inspector/InjectedScript.h:
3041         * inspector/InjectedScriptHost.cpp:
3042         (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
3043         * inspector/InjectedScriptHost.h:
3044         * inspector/InjectedScriptSource.js:
3045         (.):
3046         ():
3047         * inspector/Inspector.idl:
3048         * inspector/InspectorController.cpp:
3049         (WebCore::InspectorController::connectFrontend):
3050         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
3051         * inspector/InspectorController.h:
3052         * inspector/InspectorDOMAgent.cpp:
3053         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3054         (WebCore::InspectorDOMAgent::resolveNode):
3055         (WebCore::InspectorDOMAgent::getNodeProperties):
3056         (WebCore::InspectorDOMAgent::getNodePrototypes):
3057         (WebCore::InspectorDOMAgent::injectedScriptForNodeId):
3058         * inspector/InspectorDOMAgent.h:
3059         (WebCore::EventListenerInfo::EventListenerInfo):
3060         (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
3061         (WebCore::InspectorDOMAgent::create):
3062         (WebCore::InspectorDOMAgent::cast):
3063         (WebCore::InspectorDOMAgent::documents):
3064         * inspector/InspectorDebuggerAgent.cpp:
3065         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
3066         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
3067         (WebCore::InspectorDebuggerAgent::injectedScriptForCallFrameId):
3068         * inspector/InspectorDebuggerAgent.h:
3069         * inspector/InspectorRuntimeAgent.cpp: Added.
3070         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
3071         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
3072         (WebCore::InspectorRuntimeAgent::evaluate):
3073         (WebCore::InspectorRuntimeAgent::getCompletions):
3074         (WebCore::InspectorRuntimeAgent::getProperties):
3075         (WebCore::InspectorRuntimeAgent::setPropertyValue):
3076         (WebCore::InspectorRuntimeAgent::pushNodeToFrontend):
3077         (WebCore::InspectorRuntimeAgent::injectedScriptForObjectId):
3078         * inspector/InspectorRuntimeAgent.h: Copied from Source/WebCore/inspector/InjectedScript.h.
3079         (WebCore::InspectorRuntimeAgent::create):
3080         * inspector/front-end/ConsoleView.js:
3081         (WebInspector.ConsoleView.prototype.completions):
3082         * inspector/front-end/ScriptsPanel.js:
3083         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
3084
3085 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
3086
3087         Reviewed by Yury Semikhatsky.
3088
3089         Web Inspector: add UglifyJS parser and formatter files
3090         https://bugs.webkit.org/show_bug.cgi?id=51702
3091
3092         * WebCore.gypi:
3093         * WebCore.vcproj/WebCore.vcproj:
3094         * inspector/front-end/ScriptFormatter.js:
3095         (WebInspector.ScriptFormatter.positionToLocation):
3096         (WebInspector.ScriptFormatter.prototype.format.messageHandler):
3097         (WebInspector.ScriptFormatter.prototype.format):
3098         (WebInspector.ScriptFormatter.prototype._buildMapping):
3099         (WebInspector.ScriptFormatter.prototype._convertPosition):
3100         * inspector/front-end/SourceFrame.js:
3101         (WebInspector.SourceFrame.prototype.formatSource.didFormat):
3102         (WebInspector.SourceFrame.prototype.formatSource):
3103         * inspector/front-end/WebKit.qrc:
3104         * inspector/front-end/parse-js.js: Added. UglifyJS parser.
3105         * inspector/front-end/process.js: Added. UglifyJS formatter.
3106         * inspector/front-end/scriptFormatterWorker.js: Added. Worker script that wraps UglifyJS code.
3107         (onmessage):
3108         (beautify):
3109         (loadModule):
3110         (require):
3111         * inspector/front-end/utilities.js:
3112         ():
3113
3114 2011-01-19  Pavel Podivilov  <podivilov@chromium.org>
3115
3116         Reviewed by Yury Semikhatsky.
3117
3118         Web Inspector: [JSC] scripts have incorrect starting line (always 1).
3119         https://bugs.webkit.org/show_bug.cgi?id=52721
3120
3121         Test: inspector/debugger-scripts.html
3122
3123         * bindings/js/ScriptDebugServer.cpp:
3124         (WebCore::ScriptDebugServer::dispatchDidParseSource):
3125         (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
3126         (WebCore::ScriptDebugServer::sourceParsed):
3127         * bindings/js/ScriptDebugServer.h:
3128         * bindings/js/ScriptSourceCode.h:
3129         (WebCore::ScriptSourceCode::ScriptSourceCode):
3130         * bindings/js/StringSourceProvider.h:
3131         (WebCore::StringSourceProvider::create):
3132         (WebCore::StringSourceProvider::startPosition):
3133         (WebCore::StringSourceProvider::StringSourceProvider):
3134
3135 2011-01-19  Satish Sampath  <satish@chromium.org>
3136
3137         Reviewed by Jeremy Orlow.
3138
3139         Send origin/url as part of speech input requests to the embedder.
3140         https://bugs.webkit.org/show_bug.cgi?id=52718
3141
3142         * page/SpeechInput.cpp:
3143         (WebCore::SpeechInput::startRecognition): Pass up additional origin parameter.
3144         * page/SpeechInput.h:
3145         * page/SpeechInputClient.h:
3146         * platform/mock/SpeechInputClientMock.cpp:
3147         (WebCore::SpeechInputClientMock::startRecognition): Updated prototype.
3148         * platform/mock/SpeechInputClientMock.h:
3149         * rendering/TextControlInnerElements.cpp:
3150         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Pass the frame origin to speech input request.
3151
3152 2011-01-19  Hans Wennborg  <hans@chromium.org>
3153
3154         Reviewed by Jeremy Orlow.
3155
3156         IndexedDB: Support auto-increment keys
3157         https://bugs.webkit.org/show_bug.cgi?id=52576
3158
3159         Add support for auto-increment keys.
3160
3161         Test: storage/indexeddb/objectstore-autoincrement.html
3162
3163         * storage/IDBDatabase.cpp:
3164         (WebCore::IDBDatabase::createObjectStore):
3165         * storage/IDBObjectStoreBackendImpl.cpp:
3166         (WebCore::genAutoIncrementKey):
3167         (WebCore::IDBObjectStoreBackendImpl::putInternal):
3168
3169 2011-01-19  Csaba Osztrogonác  <ossy@webkit.org>
3170
3171         Reviewed by Laszlo Gombos and Tor Arne Vestbø.
3172
3173         [Qt] Remove unnecessary "../Source" from paths
3174         after moving source files into Source is finished.
3175
3176         * WebCore.pri:
3177         * WebCore.pro:
3178
3179 2011-01-19  Alexander Pavlov  <apavlov@chromium.org>
3180
3181         Reviewed by Pavel Feldman.
3182
3183         Web Inspector: Employ TextPrompt for CSS property name/value autocompletion
3184         https://bugs.webkit.org/show_bug.cgi?id=52212
3185
3186         WebInspector.CSSKeywordCompletions contains a hand-written list of accepted CSS property value keywords
3187         for each property. WebInspector.TextPrompt is used to suggest both the name and value keywords while
3188         editing styles, in place of the old custom suggestion code.
3189
3190         * inspector/front-end/CSSCompletions.js:
3191         (WebInspector.CSSCompletions.prototype.startsWith): Fix array-out-of-bounds error.
3192         * inspector/front-end/CSSKeywordCompletions.js: Added.
3193         (WebInspector.CSSKeywordCompletions.forProperty):
3194         * inspector/front-end/StylesSidebarPane.js:
3195         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
3196         (WebInspector.StylePropertyTreeElement.prototype):
3197         ():
3198         * inspector/front-end/TextPrompt.js:
3199         (WebInspector.TextPrompt):
3200         (WebInspector.TextPrompt.prototype.removeFromElement):
3201         (WebInspector.TextPrompt.prototype._onKeyDown):
3202         (WebInspector.TextPrompt.prototype.tabKeyPressed):
3203         (WebInspector.TextPrompt.prototype.upKeyPressed):
3204         (WebInspector.TextPrompt.prototype.downKeyPressed):
3205         (WebInspector.TextPrompt.prototype._moveBackInHistory):
3206         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
3207         * inspector/front-end/inspector.css:
3208         (.auto-complete-text, .editing .auto-complete-text):
3209         * inspector/front-end/inspector.html:
3210
3211 2011-01-19  Dai Mikurube  <dmikurube@google.com>
3212
3213         Reviewed by Kent Tamura.
3214
3215         Implement onformchange and onforminput event handlers
3216         https://bugs.webkit.org/show_bug.cgi?id=26141
3217
3218         Tests: fast/forms/formchange-event.html
3219                fast/forms/forminput-event.html
3220
3221         * bindings/scripts/CodeGeneratorGObject.pm: Added event names.
3222         * dom/Document.h: Added event definitions.
3223         * dom/Document.idl: Added event definitions.
3224         * dom/Element.h: Added event definitions.
3225         * dom/Element.idl: Added event definitions.
3226         * dom/Event.cpp:
3227         (WebCore::Event::fromUserGesture): Added a condition for a formchange event in handling user gestures.
3228         * dom/EventNames.h: Added event definitions.
3229         * dom/InputElement.cpp:
3230         (WebCore::InputElement::setValueFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(), a virtual function which broadcasts forminput events for HTML elements.
3231         * dom/Node.cpp:
3232         (WebCore::Node::dispatchInputEvents): Defined basic dispatchInputEvents() described above.
3233         (WebCore::Node::dispatchChangeEvents): Defined basic dispatchChangeEvents() described above.
3234         (WebCore::Node::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
3235         * dom/Node.h:
3236         * html/FormAssociatedElement.h: Added isResettable() to check the element is resettable or not.
3237         * html/HTMLAttributeNames.in: Added event names.
3238         * html/HTMLElement.cpp:
3239         (WebCore::HTMLElement::parseMappedAttribute): Added event handling.
3240         (WebCore::HTMLElement::shadowAncestorOwnerForm): Added to get an ancestor <form> element from a shadow element.
3241         (WebCore::HTMLElement::dispatchChangeEvents): Defined dispatchChangeEvents() for HTML elements described above.
3242         (WebCore::HTMLElement::dispatchInputEvents): Defined dispatchInputEvents() for HTML elements described above.
3243         * html/HTMLElement.h:
3244         * html/HTMLFormControlElement.cpp:
3245         (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Added calling dispatchFormChange() to broadcast formchange events.
3246         (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Defined newly to dispatch an input event with broadcasting forminput events.
3247         * html/HTMLFormControlElement.h: Added isResettable().
3248         * html/HTMLFormElement.cpp:
3249         (WebCore::HTMLFormElement::broadcastFormEvent): Added to broadcast forminput or formchange events.
3250         (WebCore::HTMLFormElement::dispatchFormInput): Defined newly to broadcast forminput events.
3251         (WebCore::HTMLFormElement::dispatchFormChange): Defined newly to broadcast formchange events.
3252         * html/HTMLFormElement.h:
3253         * html/HTMLFormElement.idl: Added dispatchFormInput() and dispatchFormChange() DOM API definitions.
3254         * html/HTMLInputElement.cpp:
3255         (WebCore::HTMLInputElement::stepUpFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents().
3256         * html/HTMLInputElement.h: Added isResettable().
3257         * html/HTMLKeygenElement.h: Added isResettable().
3258         * html/HTMLObjectElement.h: Added isResettable().
3259         * html/HTMLOutputElement.h: Added isResettable().
3260         * html/HTMLSelectElement.h: Added isResettable().
3261         * html/HTMLTextAreaElement.h: Added isResettable().
3262         * page/DOMWindow.h: Added event definitions.
3263         * page/DOMWindow.idl: Added event definitions.
3264         * rendering/TextControlInnerElements.cpp:
3265         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
3266
3267 2011-01-19  Andrey Kosyakov  <caseq@chromium.org>
3268
3269         Reviewed by Pavel Feldman.
3270
3271         Web Inspector: [Extensions API] delete pending callback from callback map before invoking it
3272         https://bugs.webkit.org/show_bug.cgi?id=52707
3273
3274         * inspector/front-end/ExtensionAPI.js:
3275         (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):
3276
3277 2011-01-19  Levi Weintraub  <leviw@google.com>
3278
3279         Reviewed by Ryosuke Niwa.
3280
3281         Replaced rangeCompliantEquivalent with Position::parentAnchoredEquivalent
3282         and simplified the logic a bit. Unfortunately, Tables and some legacy
3283         editing positions still need to be handled specifically.
3284
3285         remove rangeCompliantEquivalent and replace it with Position methods
3286         https://bugs.webkit.org/show_bug.cgi?id=25057
3287
3288         No new tests as this is a refactor that doesn't change behavior.
3289
3290         * WebCore.exp.in:
3291         * dom/Document.cpp:
3292         (WebCore::Document::caretRangeFromPoint):
3293         * dom/Position.cpp:
3294         (WebCore::Position::parentAnchoredEquivalent):
3295         * dom/Position.h:
3296         * editing/ApplyStyleCommand.cpp:
3297         (WebCore::ApplyStyleCommand::applyBlockStyle):
3298         * editing/CompositeEditCommand.cpp:
3299         (WebCore::CompositeEditCommand::insertNodeAt):
3300         (WebCore::CompositeEditCommand::moveParagraphs):
3301         * editing/DeleteSelectionCommand.cpp:
3302         (WebCore::DeleteSelectionCommand::initializePositionData):
3303         (WebCore::DeleteSelectionCommand::mergeParagraphs):
3304         * editing/Editor.cpp:
3305         (WebCore::Editor::textDirectionForSelection):
3306         (WebCore::Editor::advanceToNextMisspelling):
3307         * editing/InsertLineBreakCommand.cpp:
3308         (WebCore::InsertLineBreakCommand::shouldUseBreakElement):
3309         * editing/InsertParagraphSeparatorCommand.cpp:
3310         (WebCore::InsertParagraphSeparatorCommand::doApply):
3311         * editing/ReplaceSelectionCommand.cpp:
3312         (WebCore::handleStyleSpansBeforeInsertion):
3313         * editing/VisiblePosition.cpp:
3314         (WebCore::makeRange):
3315         (WebCore::setStart):
3316         (WebCore::setEnd):
3317         * editing/VisibleSelection.cpp:
3318         (WebCore::VisibleSelection::firstRange):
3319         (WebCore::VisibleSelection::toNormalizedRange):
3320         (WebCore::makeSearchRange):
3321         * editing/htmlediting.cpp:
3322         (WebCore::indexForVisiblePosition):
3323         * editing/htmlediting.h:
3324         * editing/visible_units.cpp:
3325         (WebCore::previousBoundary):
3326         (WebCore::nextBoundary):
3327         * page/DOMSelection.cpp:
3328         (WebCore::anchorPosition):
3329         (WebCore::focusPosition):
3330         (WebCore::basePosition):
3331         (WebCore::extentPosition):
3332
3333 2011-01-19  Peter Rybin  <peter.rybin@gmail.com>
3334
3335         Reviewed by Yury Semikhatsky.
3336
3337         Web Inspector: script column offset is incorrect
3338         https://bugs.webkit.org/show_bug.cgi?id=52580
3339
3340         Column is updated in 3 places, 2 less probable places contained error.
3341         Fixed now.
3342
3343         * platform/text/SegmentedString.cpp:
3344         (WebCore::SegmentedString::advanceSlowCase):
3345         * platform/text/SegmentedString.h:
3346         (WebCore::SegmentedString::advancePastNewline):
3347
3348 2011-01-18  Pavel Feldman  <pfeldman@chromium.org>
3349
3350         Reviewed by Yury Semikhatsky.
3351
3352         Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol.
3353         https://bugs.webkit.org/show_bug.cgi?id=52652
3354
3355         Calls served by the InjectedScript should be first class protocol
3356         citizens, not dispatched via single protocol message.
3357
3358         * WebCore.gypi:
3359         * WebCore.vcproj/WebCore.vcproj:
3360         * inspector/CodeGeneratorInspector.pm:
3361         * inspector/InjectedScript.cpp:
3362         (WebCore::InjectedScript::evaluate):
3363         (WebCore::InjectedScript::evaluateInCallFrame):
3364         (WebCore::InjectedScript::evaluateOnSelf):
3365         (WebCore::InjectedScript::getCompletions):
3366         (WebCore::InjectedScript::getProperties):
3367         (WebCore::InjectedScript::pushNodeToFrontend):
3368         (WebCore::InjectedScript::resolveNode):
3369         (WebCore::InjectedScript::getNodeProperties):
3370         (WebCore::InjectedScript::getNodePrototypes):
3371         (WebCore::InjectedScript::setPropertyValue):
3372         (WebCore::InjectedScript::makeCall):
3373         * inspector/InjectedScript.h:
3374         * inspector/InjectedScriptHost.cpp:
3375         (WebCore::InjectedScriptHost::evaluate):
3376         (WebCore::InjectedScriptHost::evaluateInCallFrame):
3377         (WebCore::InjectedScriptHost::evaluateOnSelf):
3378         (WebCore::InjectedScriptHost::getCompletions):
3379         (WebCore::InjectedScriptHost::getProperties):
3380         (WebCore::InjectedScriptHost::pushNodeToFrontend):
3381         (WebCore::InjectedScriptHost::resolveNode):
3382         (WebCore::InjectedScriptHost::getNodeProperties):
3383         (WebCore::InjectedScriptHost::getNodePrototypes):
3384         (WebCore::InjectedScriptHost::setPropertyValue):
3385         (WebCore::InjectedScriptHost::injectedScriptForObjectId):
3386         (WebCore::InjectedScriptHost::injectedScriptForNodeId):
3387         (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
3388         * inspector/InjectedScriptHost.h:
3389         * inspector/InjectedScriptSource.js:
3390         (.):
3391         * inspector/Inspector.idl:
3392         * inspector/InspectorController.cpp:
3393         * inspector/InspectorController.h:
3394         * inspector/InspectorValues.cpp:
3395         (WebCore::InspectorObject::getNumber):
3396         * inspector/InspectorValues.h:
3397         * inspector/front-end/AuditRules.js:
3398         (WebInspector.AuditRules.evaluateInTargetWindow):
3399         * inspector/front-end/ConsoleView.js:
3400         (WebInspector.ConsoleView.prototype.completions):
3401         (WebInspector.ConsoleView.prototype.doEvalInWindow):
3402         * inspector/front-end/ElementsTreeOutline.js:
3403         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
3404         * inspector/front-end/ExtensionPanel.js:
3405         (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
3406         * inspector/front-end/ExtensionServer.js:
3407         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
3408         * inspector/front-end/InjectedScriptAccess.js: Removed.
3409         * inspector/front-end/PropertiesSidebarPane.js:
3410         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
3411         (WebInspector.PropertiesSidebarPane.prototype.update):
3412         * inspector/front-end/RemoteObject.js:
3413         (WebInspector.RemoteObject.resolveNode):
3414         (WebInspector.RemoteObject.prototype.getProperties):
3415         (WebInspector.RemoteObject.prototype.setPropertyValue):
3416         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
3417         * inspector/front-end/ScriptsPanel.js:
3418         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
3419         * inspector/front-end/WebKit.qrc:
3420         * inspector/front-end/inspector.html:
3421
3422 2011-01-18  Anton Muhin  <antonm@chromium.org>
3423
3424         Reviewed by Adam Barth.
3425
3426         [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map
3427         https://bugs.webkit.org/show_bug.cgi?id=51683
3428
3429         Covered by the existing tests.
3430
3431         * bindings/v8/DOMDataStore.cpp:
3432         (WebCore::DOMDataStore::weakNodeCallback):
3433         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
3434         * bindings/v8/DOMDataStore.h:
3435         * bindings/v8/V8DOMMap.h: