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