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