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