2011-01-20 Pavel Feldman <pfeldman@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
2
3         Web Inspector: move releaseObjectGroup to the new Runtime agent.
4         https://bugs.webkit.org/show_bug.cgi?id=52803
5         (accedentally landed as r76231)
6
7         * inspector/InspectorContorller.h:
8         * inspector/InspectorContorller.cpp:
9         * inspector/InspectorRuntimeAgent.h:
10         * inspector/InspectorRuntimeAgent.cpp:
11
12 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
13
14         Not reviewed: build fix.
15
16         * inspector/InspectorState.h:
17         (WebCore::InspectorState::setBoolean):
18         (WebCore::InspectorState::setString):
19         (WebCore::InspectorState::setLong):
20
21 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
22
23         Reviewed by Yury Semikhatsky.
24
25         Web Inspector: further simplify InspectorState.
26         https://bugs.webkit.org/show_bug.cgi?id=52731
27
28         This change moves XHR logging flag into console agent,
29         removes InspectorState pushing to the front-end.
30
31         * inspector/Inspector.idl:
32         * inspector/InspectorConsoleAgent.cpp:
33         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
34         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
35         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
36         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
37         (WebCore::InspectorConsoleAgent::addConsoleMessage):
38         * inspector/InspectorConsoleAgent.h:
39         * inspector/InspectorController.cpp:
40         (WebCore::InspectorController::InspectorController):
41         * inspector/InspectorController.h:
42         (WebCore::InspectorController::state):
43         (WebCore::InspectorController::settings):
44         * inspector/InspectorState.cpp:
45         (WebCore::InspectorState::InspectorState):
46         (WebCore::InspectorState::registerBoolean):
47         (WebCore::InspectorState::registerString):
48         (WebCore::InspectorState::registerLong):
49         (WebCore::InspectorState::registerObject):
50         (WebCore::InspectorState::Property::create):
51         * inspector/InspectorState.h:
52         * inspector/front-end/ConsoleView.js:
53         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
54         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
55         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
56         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
57         * inspector/front-end/inspector.js:
58
59 2011-01-20  Csaba Osztrogonác  <ossy@webkit.org>
60
61         Unreviewed buildfix.
62
63         [Qt][V8] Remove unnecessary files after r76224.
64
65         * WebCore.pro:
66
67 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
68
69         Reviewed by Yury Semikhatsky.
70
71         Web Inspector: prepare for extracting InspectorAgent from InspectorController.
72         https://bugs.webkit.org/show_bug.cgi?id=52797
73
74         * inspector/CodeGeneratorInspector.pm:
75         * inspector/InspectorController.h:
76         (WebCore::InspectorController::inspectorAgent):
77         (WebCore::InspectorController::cssAgent):
78         (WebCore::InspectorController::injectedScriptAgent):
79         (WebCore::InspectorController::resourceAgent):
80         (WebCore::InspectorController::runtimeAgent):
81         (WebCore::InspectorController::timelineAgent):
82         (WebCore::InspectorController::databaseAgent):
83         (WebCore::InspectorController::domStorageAgent):
84         (WebCore::InspectorController::fileSystemAgent):
85         (WebCore::InspectorController::browserDebuggerAgent):
86         (WebCore::InspectorController::debuggerAgent):
87         (WebCore::InspectorController::profilerAgent):
88         (WebCore::InspectorController::applicationCacheAgent):
89
90 2011-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
91
92         Unreviewed, rolling out r76215.
93         http://trac.webkit.org/changeset/76215
94         https://bugs.webkit.org/show_bug.cgi?id=52799
95
96         Caused regressions in Chromium; morrita is going to look at it
97         tomrorow (Requested by jorlow on #webkit).
98
99         * dom/TextEvent.h:
100         * dom/TextEventInputType.h:
101         * editing/CompositeEditCommand.cpp:
102         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
103         * editing/CompositeEditCommand.h:
104         * editing/Editor.cpp:
105         (WebCore::Editor::insertTextWithoutSendingTextEvent):
106         (WebCore::Editor::confirmComposition):
107         (WebCore::Editor::setComposition):
108         * editing/Editor.h:
109         * editing/InsertTextCommand.cpp:
110         (WebCore::InsertTextCommand::input):
111         * editing/InsertTextCommand.h:
112         * editing/TypingCommand.cpp:
113         (WebCore::TypingCommand::TypingCommand):
114         (WebCore::TypingCommand::insertText):
115         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
116         * editing/TypingCommand.h:
117         (WebCore::TypingCommand::create):
118
119 2010-12-14  Yury Semikhatsky  <yurys@chromium.org>
120
121         Reviewed by Adam Barth.
122
123         [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp
124         https://bugs.webkit.org/show_bug.cgi?id=51044
125
126         * WebCore.gypi:
127         * bindings/v8/V8ConsoleMessage.cpp: Removed.
128         * bindings/v8/V8ConsoleMessage.h: Removed.
129         * bindings/v8/V8DOMWindowShell.cpp:
130         (WebCore::v8UncaughtExceptionHandler):
131         (WebCore::reportUnsafeJavaScriptAccess):
132         (WebCore::V8DOMWindowShell::initContextIfNeeded):
133         * bindings/v8/V8Proxy.cpp:
134         (WebCore::addMessageToConsole):
135         (WebCore::logInfo):
136         (WebCore::V8Proxy::reportUnsafeAccessTo):
137         (WebCore::V8Proxy::runScript):
138         (WebCore::V8Proxy::callFunction):
139         (WebCore::V8Proxy::newInstance):
140         * bindings/v8/V8Proxy.h:
141         * bindings/v8/WorkerContextExecutionProxy.cpp:
142         * bindings/v8/specialization/V8BindingState.cpp:
143         (WebCore::::immediatelyReportUnsafeAccessTo):
144
145 2011-01-19  MORITA Hajime  <morrita@google.com>
146
147         Reviewed by Eric Seidel.
148
149         ShadowElement::m_shadowParent should be removed
150         https://bugs.webkit.org/show_bug.cgi?id=52558
151
152         No new tests. No behavioral change.
153
154         * rendering/ShadowElement.h:
155         (WebCore::ShadowElement::ShadowElement):
156
157 2011-01-20  Hans Wennborg  <hans@chromium.org>
158
159         Reviewed by Jeremy Orlow.
160
161         IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror
162         https://bugs.webkit.org/show_bug.cgi?id=52725
163
164         Let IDBObjectStore.get() fire the onsuccess handler with the value
165         'undefined' for when an object does not exist in the store.
166
167         Update SerializedScriptValue to provide such an undefined value.
168
169         * bindings/v8/SerializedScriptValue.cpp:
170         (WebCore::SerializedScriptValue::nullValue):
171         (WebCore::SerializedScriptValue::undefinedValue):
172         * bindings/v8/SerializedScriptValue.h:
173         * storage/IDBObjectStoreBackendImpl.cpp:
174         (WebCore::IDBObjectStoreBackendImpl::getInternal):
175
176 2010-12-27  Yury Semikhatsky  <yurys@chromium.org>
177
178         Reviewed by Pavel Feldman.
179
180         WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
181         https://bugs.webkit.org/show_bug.cgi?id=8519
182
183         Uncaught exceptions are propagated to window.onerror hander if one is present.
184         The handler is expected to be a function accepting three arguments: error message,
185         resource url and line number where the exception occured.
186
187         It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
188         were created in the same isolated world where the exception occured or not.
189
190         Tests: fast/events/window-onerror1.html
191                fast/events/window-onerror10.html
192                fast/events/window-onerror11.html
193                fast/events/window-onerror12.html
194                fast/events/window-onerror2.html
195                fast/events/window-onerror3.html
196                fast/events/window-onerror4.html
197                fast/events/window-onerror5.html
198                fast/events/window-onerror6.html
199                fast/events/window-onerror7.html
200                fast/events/window-onerror8.html
201                fast/events/window-onerror9.html
202                http/tests/security/window-onerror-exception-in-iframe.html
203                userscripts/window-onerror-for-isolated-world-1.html
204                userscripts/window-onerror-for-isolated-world-2.html
205
206         * Android.jscbindings.mk:
207         * CMakeLists.txt:
208         * GNUmakefile.am:
209         * WebCore.gypi:
210         * WebCore.order:
211         * WebCore.pro:
212         * WebCore.vcproj/WebCore.vcproj:
213         * WebCore.xcodeproj/project.pbxproj:
214         * bindings/js/JSBindingsAllInOne.cpp:
215         * bindings/js/JSDOMBinding.cpp:
216         (WebCore::reportException):
217         * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
218         (WebCore::JSErrorHandler::JSErrorHandler):
219         (WebCore::JSErrorHandler::~JSErrorHandler):
220         (WebCore::JSErrorHandler::handleEvent):
221         * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
222         (WebCore::JSErrorHandler::create):
223         (WebCore::createJSErrorHandler):
224         * bindings/js/JSEventListener.h:
225         * bindings/scripts/CodeGeneratorJS.pm:
226         * bindings/scripts/CodeGeneratorV8.pm:
227         * bindings/v8/V8ConsoleMessage.cpp:
228         (WebCore::V8ConsoleMessage::dispatchNow):
229         (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
230         reporting mechanism which is also used by JSC bindings.
231         * bindings/v8/V8ConsoleMessage.h:
232         * bindings/v8/V8EventListener.h:
233         * bindings/v8/V8WindowErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
234         (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
235         (WebCore::V8WindowErrorHandler::callListenerFunction):
236         * bindings/v8/V8WindowErrorHandler.h: Copied from WebCore/dom/ErrorEvent.cpp.
237         (WebCore::V8WindowErrorHandler::create):
238         * bindings/v8/WorkerContextExecutionProxy.cpp:
239         (WebCore::v8MessageHandler):
240         * bindings/v8/WorkerScriptController.cpp:
241         (WebCore::WorkerScriptController::evaluate):
242         * dom/Document.cpp:
243         (WebCore::Document::errorEventTarget):
244         (WebCore::Document::logExceptionToConsole):
245         (WebCore::Document::addMessage):
246         * dom/Document.h:
247         * dom/ErrorEvent.cpp:
248         * dom/ErrorEvent.h:
249         * dom/Event.cpp:
250         (WebCore::Event::isErrorEvent):
251         * dom/Event.h:
252         * dom/ScriptExecutionContext.cpp:
253         (WebCore::ScriptExecutionContext::PendingException::PendingException):
254         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
255         (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
256         ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
257         (WebCore::ScriptExecutionContext::dispatchErrorEvent):
258         * dom/ScriptExecutionContext.h:
259         * websockets/WebSocket.cpp:
260         (WebCore::WebSocket::connect):
261         * websockets/WebSocketChannel.cpp:
262         (WebCore::WebSocketChannel::didOpen):
263         (WebCore::WebSocketChannel::didFail):
264         (WebCore::WebSocketChannel::appendToBuffer):
265         * websockets/WebSocketHandshake.cpp:
266         (WebCore::WebSocketHandshake::readServerHandshake):
267         (WebCore::WebSocketHandshake::readStatusLine):
268         (WebCore::WebSocketHandshake::readHTTPHeaders):
269         (WebCore::WebSocketHandshake::checkResponseHeaders):
270         * workers/DefaultSharedWorkerRepository.cpp:
271         (WebCore::postExceptionTask):
272         (WebCore::postConsoleMessageTask):
273         * workers/WorkerContext.cpp:
274         (WebCore::WorkerContext::WorkerContext):
275         (WebCore::WorkerContext::errorEventTarget):
276         (WebCore::WorkerContext::logExceptionToConsole):
277         (WebCore::WorkerContext::addMessage):
278         * workers/WorkerContext.h:
279         * workers/WorkerMessagingProxy.cpp:
280         (WebCore::WorkerExceptionTask::performTask):
281         (WebCore::postConsoleMessageTask):
282         * xml/XMLHttpRequest.cpp:
283         (WebCore::reportUnsafeUsage):
284
285 2011-01-19  MORITA Hajime  <morrita@google.com>
286
287         Reviewed by Ryosuke Niwa.
288
289         Space and tab characters "sent" by an input method give totally different results than typing them directly
290         https://bugs.webkit.org/show_bug.cgi?id=5241
291         
292         * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
293           distinguish text input which is originated by composition.
294         * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
295           range of string on text node, instead of surrounding part of that.
296
297         Test: editing/inserting/insert-composition-whitespace.html
298
299         * dom/TextEvent.h:
300         (WebCore::TextEvent::isComposition):
301         * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
302         * editing/CompositeEditCommand.cpp:
303         (WebCore::containsOnlyWhitespace):
304         (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
305         (WebCore::CompositeEditCommand::canRebalance):
306         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
307         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
308         * editing/CompositeEditCommand.h:
309         * editing/Editor.cpp:
310         (WebCore::Editor::insertTextForConfirmedComposition): Added.
311         (WebCore::Editor::insertTextWithoutSendingTextEvent):
312         (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
313         (WebCore::Editor::setComposition):
314         * editing/Editor.h:
315         * editing/InsertTextCommand.cpp:
316         (WebCore::InsertTextCommand::input):
317         * editing/InsertTextCommand.h:
318         * editing/TypingCommand.cpp:
319         (WebCore::TypingCommand::TypingCommand):
320         (WebCore::TypingCommand::insertText):
321         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
322         * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
323         (WebCore::TypingCommand::setCompositionType): Added.
324         (WebCore::TypingCommand::create):
325
326 2011-01-19  Dominic Cooney  <dominicc@google.com>
327
328         Reviewed by Kent Tamura.
329
330         Make <keygen> no longer appear to be a <select> element to script.
331         https://bugs.webkit.org/show_bug.cgi?id=52557
332
333         The intent is to put <keygen> options into shadow DOM. This change
334         takes the first step by hiding the <select> element from
335         JavaScript.
336
337         Test: fast/dom/HTMLKeygenElement/keygen.html
338
339         * CMakeLists.txt: Adds new IDL-derived wrapper.
340         * DerivedSources.cpp:
341         * DerivedSources.make:
342         * GNUmakefile.am:
343         * WebCore.gypi:
344         * WebCore.pri:
345         * WebCore.vcproj/WebCore.vcproj:
346         * WebCore.xcodeproj/project.pbxproj:
347         * bindings/gobject/GNUmakefile.am:
348         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
349         (WebKit::createKeygenWrapper):
350         (WebKit::createHTMLElementWrapper):
351         * bindings/objc/DOM.mm:
352         (WebCore::createElementClassMap): Keygen no longer DOMHTMLSelectElement
353         * html/HTMLKeygenElement.h:
354         (WebCore::HTMLKeygenElement::willValidate): Now public.
355         * html/HTMLKeygenElement.idl: Added.
356         * html/HTMLTagNames.in: Keygen's wrapper is HTMLKeygenElement.
357         * page/DOMWindow.idl: Add HTMLKeygenElement constructor.
358
359 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
360
361         Unreviewed, rolling out r76203.
362         http://trac.webkit.org/changeset/76203
363         https://bugs.webkit.org/show_bug.cgi?id=52784
364
365         Broke Win compile on Chromium bots (Requested by dimich on
366         #webkit).
367
368         * WebCore.gypi:
369         * bindings/v8/V8DOMWindowShell.cpp:
370         (WebCore::reportFatalErrorInV8):
371         * page/PageGroup.cpp:
372         (WebCore::PageGroup::isLinkVisited):
373         * platform/android/PlatformBridge.h:
374         * platform/audio/chromium/AudioBusChromium.cpp:
375         (WebCore::createBusFromInMemoryAudioFile):
376         * platform/chromium/ChromiumBridge.h: Added.
377         * platform/chromium/ChromiumDataObjectLegacy.cpp:
378         (WebCore::ChromiumDataObjectLegacy::getData):
379         * platform/chromium/DragDataChromium.cpp:
380         (WebCore::DragData::asURL):
381         * platform/chromium/FileSystemChromium.cpp:
382         (WebCore::deleteFile):
383         (WebCore::deleteEmptyDirectory):
384         (WebCore::getFileSize):
385         (WebCore::getFileModificationTime):
386         (WebCore::revealFolderInOS):
387         (WebCore::directoryName):
388         (WebCore::pathByAppendingComponent):
389         (WebCore::makeAllDirectories):
390         (WebCore::fileExists):
391         (WebCore::openFile):
392         (WebCore::closeFile):
393         (WebCore::seekFile):
394         (WebCore::truncateFile):
395         (WebCore::readFromFile):
396         (WebCore::writeToFile):
397         * platform/chromium/LanguageChromium.cpp:
398         (WebCore::platformDefaultLanguage):
399         * platform/chromium/LinkHashChromium.cpp:
400         (WebCore::visitedLinkHash):
401         * platform/chromium/MIMETypeRegistryChromium.cpp:
402         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
403         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
404         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
405         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
406         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
407         * platform/chromium/PasteboardChromium.cpp:
408         (WebCore::Pasteboard::writeSelection):
409         (WebCore::Pasteboard::writePlainText):
410         (WebCore::Pasteboard::writeURL):
411         (WebCore::Pasteboard::writeImage):
412         (WebCore::Pasteboard::canSmartReplace):
413         (WebCore::Pasteboard::plainText):
414         (WebCore::Pasteboard::documentFragment):
415         * platform/chromium/PlatformBridge.h:
416         * platform/chromium/PlatformScreenChromium.cpp:
417         (WebCore::screenDepth):
418         (WebCore::screenDepthPerComponent):
419         (WebCore::screenIsMonochrome):
420         (WebCore::screenRect):
421         (WebCore::screenAvailableRect):
422         * platform/chromium/ReadableDataObject.cpp:
423         (WebCore::ReadableDataObject::getData):
424         (WebCore::ReadableDataObject::urlTitle):
425         (WebCore::ReadableDataObject::htmlBaseUrl):
426         (WebCore::ReadableDataObject::filenames):
427         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
428         * platform/chromium/SSLKeyGeneratorChromium.cpp:
429         (WebCore::signedPublicKeyAndChallengeString):
430         * platform/chromium/ScrollbarThemeChromium.cpp:
431         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
432         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
433         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
434         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
435         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
436         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
437         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
438         * platform/chromium/ScrollbarThemeChromiumMac.mm:
439         (WebCore::scrollbarStateToThemeState):
440         (WebCore::ScrollbarThemeChromiumMac::paint):
441         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
442         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
443         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
444         (WebCore::ScrollbarThemeChromiumWin::paintButton):
445         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
446         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
447         * platform/chromium/SharedTimerChromium.cpp:
448         (WebCore::setSharedTimerFiredFunction):
449         (WebCore::setSharedTimerFireTime):
450         (WebCore::stopSharedTimer):
451         * platform/chromium/SuddenTerminationChromium.cpp:
452         (WebCore::disableSuddenTermination):
453         (WebCore::enableSuddenTermination):
454         * platform/chromium/SystemTimeChromium.cpp:
455         (WebCore::currentTime):
456         * platform/chromium/WritableDataObject.cpp:
457         (WebCore::WritableDataObject::setData):
458         * platform/graphics/chromium/CrossProcessFontLoading.mm:
459         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
460         (WebCore::fontContainsCharacter):
461         (WebCore::FillLogFont):
462         * platform/graphics/chromium/FontCacheLinux.cpp:
463         (WebCore::FontCache::getFontDataForCharacters):
464         * platform/graphics/chromium/FontChromiumWin.cpp:
465         (WebCore::Font::drawGlyphs):
466         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
467         (WebCore::FontPlatformData::scriptFontProperties):
468         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
469         (WebCore::FontPlatformData::querySystemForRenderStyle):
470         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
471         (WebCore::fillBMPGlyphs):
472         * platform/graphics/chromium/ImageChromium.cpp:
473         (WebCore::Image::loadPlatformResource):
474         * platform/graphics/chromium/ImageChromiumMac.mm:
475         (WebCore::Image::loadPlatformResource):
476         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
477         (WebCore::SimpleFontData::platformInit):
478         (WebCore::SimpleFontData::determinePitch):
479         (WebCore::SimpleFontData::platformWidthForGlyph):
480         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
481         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
482         * platform/graphics/skia/FontCustomPlatformData.cpp:
483         (WebCore::FontCustomPlatformData::fontPlatformData):
484         * platform/network/chromium/CookieJarChromium.cpp:
485         (WebCore::setCookies):
486         (WebCore::cookies):
487         (WebCore::cookieRequestHeaderFieldValue):
488         (WebCore::cookiesEnabled):
489         (WebCore::getRawCookies):
490         (WebCore::deleteCookie):
491         * platform/network/chromium/DNSChromium.cpp:
492         (WebCore::prefetchDNS):
493         * platform/qt/PlatformBridge.h:
494         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
495         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
496         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
497         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
498         (chromiumOpen):
499         (chromiumDelete):
500         (chromiumAccess):
501         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
502         * plugins/chromium/PluginDataChromium.cpp:
503         (WebCore::PluginCache::plugins):
504         * rendering/RenderThemeChromiumMac.mm:
505         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
506         * rendering/RenderThemeChromiumSkia.cpp:
507         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
508         * rendering/RenderThemeChromiumWin.cpp:
509         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
510         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
511         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
512         (WebCore::RenderThemeChromiumWin::systemColor):
513         (WebCore::RenderThemeChromiumWin::paintButton):
514         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
515         (WebCore::menuListButtonWidth):
516         (WebCore::RenderThemeChromiumWin::paintMenuList):
517         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
518         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
519         (WebCore::RenderThemeChromiumWin::paintProgressBar):
520         * storage/chromium/IDBFactoryBackendInterface.cpp:
521         (WebCore::IDBFactoryBackendInterface::create):
522         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
523         * storage/chromium/IDBKeyPathBackendImpl.cpp:
524         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
525
526 2011-01-19  Helder Correia  <helder@sencha.com>
527
528         Reviewed by Andreas Kling.
529
530         [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha
531         https://bugs.webkit.org/show_bug.cgi?id=52705
532
533         This is related to bug 52611. The shadow color alpha must be multiplied
534         by the context pen alpha. Fixing this results in correct behavior for
535         Canvas path stroke() and strokeRect() [which relies on stroke()].
536
537         Tests: fast/canvas/canvas-strokePath-alpha-shadow.html
538                fast/canvas/canvas-strokeRect-alpha-shadow.html
539
540         * platform/graphics/qt/GraphicsContextQt.cpp:
541         (WebCore::GraphicsContext::strokePath):
542
543 2011-01-19  Darin Fisher  <darin@chromium.org>
544
545         Reviewed by Mihai Parparita.
546
547         Re-initialize the HistoryItem fully when navigating to a HistoryItem,
548         or replacing a HistoryItem, results in a different URL.
549
550         https://bugs.webkit.org/show_bug.cgi?id=49654
551
552         This patch also forces all HistoryItems to record the post-redirect
553         URL.  Previously, frames would remember the pre-redirect URL.  This is
554         problematic since other members of the HistoryItem correspond to the
555         post-redirect URL.
556
557         Tests: fast/history/history-replace-updates-current-item.html
558                http/tests/navigation/redirect-on-back-updates-history-item.html
559                http/tests/navigation/redirect-on-reload-updates-history-item.html
560
561         * history/HistoryItem.cpp:
562         (WebCore::HistoryItem::HistoryItem):
563         (WebCore::HistoryItem::reset):
564         * history/HistoryItem.h:
565         * loader/HistoryController.cpp:
566         (WebCore::HistoryController::updateForBackForwardNavigation):
567         (WebCore::HistoryController::updateForReload):
568         (WebCore::HistoryController::updateForStandardLoad):
569         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
570         (WebCore::HistoryController::initializeItem):
571         (WebCore::HistoryController::createItem):
572         (WebCore::HistoryController::createItemTree):
573         (WebCore::HistoryController::updateCurrentItem):
574         * loader/HistoryController.h:
575
576 2011-01-19  Adam Klein  <adamk@chromium.org>
577
578         Reviewed by Darin Fisher.
579
580         [chromium] Rename ChromiumBridge to PlatformBridge
581         https://bugs.webkit.org/show_bug.cgi?id=52471
582
583         No tests added as this is a rename; no change in behavior.
584
585         * WebCore.gypi:
586         * bindings/v8/V8DOMWindowShell.cpp:
587         (WebCore::reportFatalErrorInV8):
588         * page/PageGroup.cpp:
589         (WebCore::PageGroup::isLinkVisited):
590         * platform/android/PlatformBridge.h:
591         * platform/audio/chromium/AudioBusChromium.cpp:
592         (WebCore::createBusFromInMemoryAudioFile):
593         * platform/chromium/ChromiumBridge.h: Removed.
594         * platform/chromium/ChromiumDataObjectLegacy.cpp:
595         (WebCore::ChromiumDataObjectLegacy::getData):
596         * platform/chromium/DragDataChromium.cpp:
597         (WebCore::DragData::asURL):
598         * platform/chromium/FileSystemChromium.cpp:
599         (WebCore::deleteFile):
600         (WebCore::deleteEmptyDirectory):
601         (WebCore::getFileSize):
602         (WebCore::getFileModificationTime):
603         (WebCore::revealFolderInOS):
604         (WebCore::directoryName):
605         (WebCore::pathByAppendingComponent):
606         (WebCore::makeAllDirectories):
607         (WebCore::fileExists):
608         (WebCore::openFile):
609         (WebCore::closeFile):
610         (WebCore::seekFile):
611         (WebCore::truncateFile):
612         (WebCore::readFromFile):
613         (WebCore::writeToFile):
614         * platform/chromium/LanguageChromium.cpp:
615         (WebCore::platformDefaultLanguage):
616         * platform/chromium/LinkHashChromium.cpp:
617         (WebCore::visitedLinkHash):
618         * platform/chromium/MIMETypeRegistryChromium.cpp:
619         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
620         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
621         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
622         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
623         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
624         * platform/chromium/PasteboardChromium.cpp:
625         (WebCore::Pasteboard::writeSelection):
626         (WebCore::Pasteboard::writePlainText):
627         (WebCore::Pasteboard::writeURL):
628         (WebCore::Pasteboard::writeImage):
629         (WebCore::Pasteboard::canSmartReplace):
630         (WebCore::Pasteboard::plainText):
631         (WebCore::Pasteboard::documentFragment):
632         * platform/chromium/PlatformBridge.h:
633         * platform/chromium/PlatformScreenChromium.cpp:
634         (WebCore::screenDepth):
635         (WebCore::screenDepthPerComponent):
636         (WebCore::screenIsMonochrome):
637         (WebCore::screenRect):
638         (WebCore::screenAvailableRect):
639         * platform/chromium/ReadableDataObject.cpp:
640         (WebCore::ReadableDataObject::getData):
641         (WebCore::ReadableDataObject::urlTitle):
642         (WebCore::ReadableDataObject::htmlBaseUrl):
643         (WebCore::ReadableDataObject::filenames):
644         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
645         * platform/chromium/SSLKeyGeneratorChromium.cpp:
646         (WebCore::signedPublicKeyAndChallengeString):
647         * platform/chromium/ScrollbarThemeChromium.cpp:
648         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
649         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
650         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
651         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
652         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
653         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
654         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
655         * platform/chromium/ScrollbarThemeChromiumMac.mm:
656         (WebCore::scrollbarStateToThemeState):
657         (WebCore::ScrollbarThemeChromiumMac::paint):
658         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
659         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
660         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
661         (WebCore::ScrollbarThemeChromiumWin::paintButton):
662         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
663         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
664         * platform/chromium/SharedTimerChromium.cpp:
665         (WebCore::setSharedTimerFiredFunction):
666         (WebCore::setSharedTimerFireTime):
667         (WebCore::stopSharedTimer):
668         * platform/chromium/SuddenTerminationChromium.cpp:
669         (WebCore::disableSuddenTermination):
670         (WebCore::enableSuddenTermination):
671         * platform/chromium/SystemTimeChromium.cpp:
672         (WebCore::currentTime):
673         * platform/chromium/WritableDataObject.cpp:
674         (WebCore::WritableDataObject::setData):
675         * platform/graphics/chromium/CrossProcessFontLoading.mm:
676         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
677         (WebCore::fontContainsCharacter):
678         (WebCore::FillLogFont):
679         * platform/graphics/chromium/FontCacheLinux.cpp:
680         (WebCore::FontCache::getFontDataForCharacters):
681         * platform/graphics/chromium/FontChromiumWin.cpp:
682         (WebCore::Font::drawGlyphs):
683         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
684         (WebCore::FontPlatformData::scriptFontProperties):
685         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
686         (WebCore::FontPlatformData::querySystemForRenderStyle):
687         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
688         (WebCore::fillBMPGlyphs):
689         * platform/graphics/chromium/ImageChromium.cpp:
690         (WebCore::Image::loadPlatformResource):
691         * platform/graphics/chromium/ImageChromiumMac.mm:
692         (WebCore::Image::loadPlatformResource):
693         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
694         (WebCore::SimpleFontData::platformInit):
695         (WebCore::SimpleFontData::determinePitch):
696         (WebCore::SimpleFontData::platformWidthForGlyph):
697         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
698         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
699         * platform/graphics/skia/FontCustomPlatformData.cpp:
700         (WebCore::FontCustomPlatformData::fontPlatformData):
701         * platform/network/chromium/CookieJarChromium.cpp:
702         (WebCore::setCookies):
703         (WebCore::cookies):
704         (WebCore::cookieRequestHeaderFieldValue):
705         (WebCore::cookiesEnabled):
706         (WebCore::getRawCookies):
707         (WebCore::deleteCookie):
708         * platform/network/chromium/DNSChromium.cpp:
709         (WebCore::prefetchDNS):
710         * platform/qt/PlatformBridge.h:
711         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
712         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
713         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
714         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
715         (chromiumOpen):
716         (chromiumDelete):
717         (chromiumAccess):
718         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
719         * plugins/chromium/PluginDataChromium.cpp:
720         (WebCore::PluginCache::plugins):
721         * rendering/RenderThemeChromiumMac.mm:
722         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
723         * rendering/RenderThemeChromiumSkia.cpp:
724         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
725         * rendering/RenderThemeChromiumWin.cpp:
726         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
727         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
728         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
729         (WebCore::RenderThemeChromiumWin::systemColor):
730         (WebCore::RenderThemeChromiumWin::paintButton):
731         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
732         (WebCore::menuListButtonWidth):
733         (WebCore::RenderThemeChromiumWin::paintMenuList):
734         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
735         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
736         (WebCore::RenderThemeChromiumWin::paintProgressBar):
737         * storage/chromium/IDBFactoryBackendInterface.cpp:
738         (WebCore::IDBFactoryBackendInterface::create):
739         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
740         * storage/chromium/IDBKeyPathBackendImpl.cpp:
741         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
742
743 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
744
745         Unreviewed, rolling out r76187.
746         http://trac.webkit.org/changeset/76187
747         https://bugs.webkit.org/show_bug.cgi?id=52778
748
749         Broke caret-showing tests on SnowLeopard and Chromium
750         (Requested by dimich on #webkit).
751
752         * rendering/RenderText.cpp:
753         (WebCore::RenderText::localCaretRect):
754
755 2011-01-19  Yuzo Fujishima  <yuzo@google.com>
756
757         Reviewed by Kent Tamura.
758
759         Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks
760         https://bugs.webkit.org/show_bug.cgi?id=52279
761
762         In constructing text fragments to handle first-letter rule, first add
763         the text for the non-first letters and then remove the original text,
764         rather than the other way around. Otherwise, the text can be added to
765         an anoymous block that is different from the original one. This breaks
766         the assumption that a first letter render object has a non-null sibling
767         for the non-first letters and causes a crash.
768
769         Test: fast/css/first-letter-anonymous-block-crash.html
770
771         * rendering/RenderBlock.cpp:
772         (WebCore::RenderBlock::updateFirstLetter):
773
774 2011-01-19  James Robinson  <jamesr@chromium.org>
775
776         Unreviewed, rolling out r76194.
777         http://trac.webkit.org/changeset/76194
778         https://bugs.webkit.org/show_bug.cgi?id=51218
779
780         Caused mysterious compile failure on the chromium win
781         build.webkit.org bots
782
783         * WebCore.gypi:
784         * dom/Document.cpp:
785         (WebCore::Document::Document):
786         * dom/Document.h:
787         * dom/RequestAnimationFrameCallback.h: Removed.
788         * dom/RequestAnimationFrameCallback.idl: Removed.
789         * loader/EmptyClients.h:
790         * page/Chrome.cpp:
791         * page/Chrome.h:
792         * page/ChromeClient.h:
793         * page/DOMWindow.cpp:
794         * page/DOMWindow.h:
795         * page/DOMWindow.idl:
796         * page/FrameView.cpp:
797         * page/FrameView.h:
798         * platform/HostWindow.h:
799
800 2011-01-19  Simon Fraser  <simon.fraser@apple.com>
801
802         Reviewed by Sam Weinig.
803
804         GraphicsLayers in subframes can get sync'd multiple times
805         https://bugs.webkit.org/show_bug.cgi?id=52489
806
807         Some cleanup that will work towards fixing this bug.
808         
809         Tested by existing iframe compositing tests.
810
811         * WebCore.exp.in: syncCompositingStateRecursive()
812         was renamed to syncCompositingStateIncludingSubframes().
813
814         * page/FrameView.h:
815         * page/FrameView.cpp:
816         (WebCore::FrameView::syncCompositingStateForThisFrame): Some
817         code cleanup: do all the word we need to do for this frame,
818         including the needsLayout() check.
819         (WebCore::FrameView::syncCompositingStateIncludingSubframes):
820         This is no longer recursive; instead, it iterates over descendant
821         frames via the frame tree, calling syncCompositingStateForThisFrame()
822         on each Frame's view.
823
824         * rendering/RenderLayerCompositor.h:
825         (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag.
826         * rendering/RenderLayerCompositor.cpp: 
827         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
828         (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain
829         a flag to say if we're flushing, which allows us to assert on re-entrant flushes.
830         (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
831         Add the ability to get the rootmost compositor that is in the middle
832         of a flush.
833
834 2011-01-19  James Robinson  <jamesr@chromium.org>
835
836         Reviewed by Darin Fisher.
837
838         Implement mozilla's requestAnimationFrame API
839         https://bugs.webkit.org/show_bug.cgi?id=51218
840
841         This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
842         an author driving an animation from script could use window.requestAnimationFrame(callback)
843         instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
844         decide when to update the animations.  This avoids doing unnecessary work when the page content
845         is offscreen or is being displayed at a different framerate than what the page author expects.
846
847         Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
848         This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
849         following changes:
850         *) Only the callback syntax is supported, there is no before paint event
851         *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
852             what content they intend to animate.  That way if the page is being displayed but the element
853             in question is offscreen, we can avoid invoking the callback.
854         *) No timestamp is provided to the caller and there is no window.animationStartTime property
855             (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
856         *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
857             using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
858
859         The implementation depends on the embedder scheduling the callbacks since the callback invocation
860         depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
861         to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
862         called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
863         Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
864         embedder has to rate limit callbacks and may not be able to tie the callback directly to the
865         rendering loop.
866
867         Tests: fast/animation/request-animation-frame-cancel.html
868                fast/animation/request-animation-frame-cancel2.html
869                fast/animation/request-animation-frame-display.html
870                fast/animation/request-animation-frame-within-callback.html
871                fast/animation/request-animation-frame.html
872
873         * WebCore.gypi:
874         * dom/Document.cpp:
875         (WebCore::Document::Document):
876         (WebCore::Document::webkitRequestAnimationFrame):
877         (WebCore::Document::webkitCancelRequestAnimationFrame):
878         (WebCore::Document::serviceScriptedAnimations):
879         * dom/Document.h:
880         * dom/RequestAnimationFrameCallback.h: Added.
881         (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
882         * dom/RequestAnimationFrameCallback.idl: Added.
883         * loader/EmptyClients.h:
884         (WebCore::EmptyChromeClient::scheduleAnimation):
885         * page/Chrome.cpp:
886         (WebCore::Chrome::scheduleAnimation):
887         * page/Chrome.h:
888         * page/ChromeClient.h:
889         * page/DOMWindow.cpp:
890         (WebCore::DOMWindow::webkitRequestAnimationFrame):
891         (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
892         * page/DOMWindow.h:
893         * page/DOMWindow.idl:
894         * page/FrameView.cpp:
895         (WebCore::FrameView::scheduleAnimation):
896         (WebCore::FrameView::serviceScriptedAnimations):
897         * page/FrameView.h:
898         * platform/HostWindow.h:
899
900 2011-01-13  Martin Robinson  <mrobinson@igalia.com>
901
902         Reviewed by Daniel Bates.
903
904         [GTK] Move progress bar painting out of gtk2drawing.c
905         https://bugs.webkit.org/show_bug.cgi?id=52385
906
907         Move progress bar painting to RenderThemeGtk2 and share some animation
908         logic between the GTK+ 2.x and GTK+ 3.x port.
909
910         No new tests. This should not change functionality.
911
912         * platform/gtk/RenderThemeGtk.cpp:
913         (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): Moved from RenderThemeGtk3.
914         (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
915         (WebCore::RenderThemeGtk::calculateProgressRect): Calculate the proper rectangle for the
916         progress indicator given the rect for the maximum size of the indicator.
917         * platform/gtk/RenderThemeGtk.h: Added calculateProgressRect declaration and
918         a new widget member for GTK+ 2.x
919         * platform/gtk/RenderThemeGtk2.cpp:
920         (WebCore::RenderThemeGtk::platformInit): Added initialization for the new widget member.
921         (WebCore::RenderThemeGtk::paintProgressBar): Paint the progress bar manually instead of
922         calling the old Mozilla code.
923         (WebCore::RenderThemeGtk::gtkProgressBar): Added.
924         * platform/gtk/RenderThemeGtk3.cpp:
925         (WebCore::RenderThemeGtk::paintProgressBar): Call calculateProgressRect now to get
926         the area of the progress indicator.
927         * platform/gtk/gtk2drawing.c: Remove unused code.
928         (moz_gtk_get_widget_border):
929         (moz_gtk_widget_paint):
930         * platform/gtk/gtkdrawing.h: Ditto.
931
932 2011-01-19  Dmitry Titov  <dimich@chromium.org>
933
934         [Chromium] Not reviewed, reverts the following changes:
935         http://trac.webkit.org/changeset/76164 (build fix)
936         http://trac.webkit.org/changeset/76159 (main change)
937
938         The change broke Chromium Linux-shlib build.
939
940         Original issue:
941         Accelerated canvas2D has bad clipping performance.
942         https://bugs.webkit.org/show_bug.cgi?id=52627
943
944         * WebCore.gyp/WebCore.gyp:
945         * WebCore.gypi:
946         * html/canvas/CanvasRenderingContext2D.cpp:
947         (WebCore::CanvasRenderingContext2D::reset):
948         (WebCore::CanvasRenderingContext2D::platformLayer):
949         * platform/graphics/chromium/DrawingBufferChromium.cpp:
950         (WebCore::DrawingBuffer::DrawingBuffer):
951         * platform/graphics/chromium/GLES2Canvas.cpp:
952         (WebCore::GLES2Canvas::State::State):
953         (WebCore::GLES2Canvas::clearRect):
954         (WebCore::GLES2Canvas::fillRect):
955         (WebCore::GLES2Canvas::restore):
956         (WebCore::GLES2Canvas::drawTexturedRect):
957         * platform/graphics/chromium/GLES2Canvas.h:
958         * platform/graphics/gpu/DrawingBuffer.cpp:
959         (WebCore::DrawingBuffer::clear):
960         (WebCore::DrawingBuffer::createSecondaryBuffers):
961         (WebCore::DrawingBuffer::reset):
962         * platform/graphics/gpu/DrawingBuffer.h:
963         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
964         (WebCore::SharedGraphicsContext3D::create):
965         * platform/graphics/gpu/SharedGraphicsContext3D.h:
966         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
967         (WebCore::DrawingBuffer::DrawingBuffer):
968         * platform/graphics/skia/GraphicsContextSkia.cpp:
969         (WebCore::GraphicsContext::canvasClip):
970         (WebCore::GraphicsContext::clipOut):
971         (WebCore::GraphicsContext::clipPath):
972         (WebCore::GraphicsContext::fillPath):
973         * platform/graphics/skia/PlatformContextSkia.cpp:
974         (WebCore::PlatformContextSkia::canAccelerate):
975         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
976         * thirdparty/glu/README.webkit:
977         * thirdparty/glu/gluos.h:
978         * thirdparty/glu/libtess/geom.c:
979         * thirdparty/glu/libtess/priorityq.c:
980         * thirdparty/glu/libtess/render.c:
981         * thirdparty/glu/libtess/sweep.c:
982         (IsWindingInside):
983         (DoneEdgeDict):
984
985 2011-01-19  Levi Weintraub  <leviw@google.com>
986
987         Reviewed by Darin Adler.
988
989         Re-committing this with the proper expected results.
990
991         Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
992         logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
993         resulted in the caret being placed incorrectly in overflowing editable IFrame content.
994
995         Long lines in non-white-space-pre editable documents show cursor in wrong place
996         https://bugs.webkit.org/show_bug.cgi?id=48132
997
998         Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
999
1000         * rendering/RenderText.cpp:
1001         (WebCore::RenderText::localCaretRect):
1002
1003 2011-01-18 MORITA Hajime <morrita@google.com>
1004
1005         Reviewed by David Levin.
1006
1007         ElementRareData::m_shadowRoot should not be RefPtr.
1008         https://bugs.webkit.org/show_bug.cgi?id=51914
1009
1010         Makes ElementRareData::m_shadowRoot a raw pointer because
1011         ElementRareData::m_shadowRoot should be like a
1012         ContaineNode::m_firstChild, which is also a raw pointer.
1013         pointer. Which also means that both the shadow root and the shadow
1014         host reference each other as a parent-and-child relationship, via
1015         a raw pointer.
1016         
1017         Note that it is safe not to manipulate the ref-count of
1018         m_shadowRoot because Node::m_parent of the shadow root points its
1019         shadow host, and the object isn't deleted even if the refcount is
1020         zero, as long as the node has non-null m_parent. (See TreeShared.)
1021         
1022         The shadow root node is finally destroyed inside
1023         removeShadowRoot(), where we store the root node into a local
1024         RefPtr, then make the node's m_parent null, which results the
1025         destroy the node, at the end of the function, by RefPtr::~RefPtr.
1026         
1027         No new tests. No behavioral change.
1028
1029         * dom/Element.cpp:
1030         (WebCore::Element::~Element):
1031         (WebCore::Element::shadowRoot):
1032         (WebCore::Element::setShadowRoot):
1033         (WebCore::Element::removeShadowRoot):
1034         * dom/ElementRareData.h:
1035         (WebCore::ElementRareData::ElementRareData):
1036         (WebCore::ElementRareData::~ElementRareData):
1037
1038 2011-01-12  Martin Robinson  <mrobinson@igalia.com>
1039
1040         Reviewed by Gustavo Noronha Silva.
1041
1042         [GTK] Move text field painting out of gtk2drawing.c
1043         https://bugs.webkit.org/show_bug.cgi?id=52327
1044
1045         No new tests. This should not change behavior.
1046
1047         * platform/gtk/RenderThemeGtk2.cpp:
1048         (WebCore::RenderThemeGtk::paintButton): Use the setWidgetHasFocus helper.
1049         (WebCore::RenderThemeGtk::paintTextField): Do this manually now instead
1050         of calling into the Mozilla code.
1051         * platform/gtk/WidgetRenderingContext.cpp: Added a couple more wrappers
1052         for GTK+ theme functions.
1053         (WebCore::WidgetRenderingContext::gtkPaintFlatBox):
1054         (WebCore::WidgetRenderingContext::gtkPaintShadow):
1055         * platform/gtk/WidgetRenderingContext.h: Added new method declarations.
1056         * platform/gtk/gtk2drawing.c: Remove unused code.
1057         (moz_gtk_get_widget_border):
1058         (moz_gtk_widget_paint):
1059         * platform/gtk/gtkdrawing.h:
1060
1061 2011-01-19  Antti Koivisto  <antti@apple.com>
1062
1063         Reviewed by Oliver Hunt.
1064
1065         Cache function offsets to speed up javascript parsing
1066         https://bugs.webkit.org/show_bug.cgi?id=52622
1067         
1068         Use cache to save function offsets and some other info.
1069         This avoids quite a bit of work when reparsing the source.
1070
1071         * bindings/js/CachedScriptSourceProvider.h:
1072         (WebCore::CachedScriptSourceProvider::cache):
1073         (WebCore::CachedScriptSourceProvider::cacheSizeChanged):
1074         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
1075         * bindings/js/ScriptSourceProvider.h:
1076         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
1077         * loader/cache/CachedScript.cpp:
1078         (WebCore::CachedScript::destroyDecodedData):
1079         (WebCore::CachedScript::sourceProviderCache):
1080         (WebCore::CachedScript::sourceProviderCacheSizeChanged):
1081         * loader/cache/CachedScript.h:
1082
1083 2011-01-11  Martin Robinson  <mrobinson@igalia.com>
1084
1085         Reviewed by Gustavo Noronha Silva.
1086
1087         [GTK] Move toggle button rendering out of gtk2drawing.c
1088         https://bugs.webkit.org/show_bug.cgi?id=52258
1089
1090         * platform/gtk/RenderThemeGtk.h:
1091         * platform/gtk/RenderThemeGtk2.cpp:
1092         (WebCore::RenderThemeGtk::platformInit): Initialize new button members.
1093         (WebCore::adjustRectForFocus): Added this function which inflates a rect based
1094         on a widget's exterior focus.
1095         (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus.
1096         (WebCore::setToggleSize): Only listen to indicator-size to properly size
1097         checkboxes and radio buttons.
1098         (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly.
1099         (WebCore::paintToggle): Added.
1100         (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle.
1101         (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly.
1102         (WebCore::RenderThemeGtk::paintRadio): Call paintToggle.
1103         (WebCore::RenderThemeGtk::gtkRadioButton): Added.
1104         (WebCore::RenderThemeGtk::gtkCheckButton): Added.
1105         * platform/gtk/WidgetRenderingContext.cpp:
1106         (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space
1107         variable. This is good enough for all themes that I've tested and prevents having to
1108         pass information from RenderThemeGtk about every single type of widget.
1109         (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect
1110         to draw instead of m_paintRect. This is important when we're painting
1111         something that isn't the size of the total rect.
1112         (WebCore::WidgetRenderingContext::gtkPaintCheck): Added.
1113         (WebCore::WidgetRenderingContext::gtkPaintOption): Added.
1114         * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods.
1115         * platform/gtk/gtkdrawing.h: Remove newly unused code.
1116         * platform/gtk/gtk2drawing.c: Ditto.
1117
1118 2011-01-19  Tony Gentilcore  <tonyg@chromium.org>
1119
1120         Unreviewed build fix.
1121
1122         Build fix for r76170
1123         https://bugs.webkit.org/show_bug.cgi?id=52758
1124
1125         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
1126
1127 2011-01-19  David D. Kilzer  <ddkilzer@apple.com>
1128
1129         <http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO
1130
1131         Reviewed by Eric Carlson.
1132
1133         * loader/FrameLoader.cpp: Declare the methods here.
1134         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
1135         (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
1136         * loader/FrameLoader.cpp: Moved methods to here...
1137         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
1138         (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
1139         * loader/SubframeLoader.cpp: ...from here.
1140         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
1141         (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
1142
1143 2011-01-19  Tony Gentilcore  <tonyg@chromium.org>
1144
1145         Reviewed by Mihai Parparita.
1146
1147         Perform some forward declaration
1148         https://bugs.webkit.org/show_bug.cgi?id=52522
1149
1150         No new tests because no new functionality.
1151
1152         * accessibility/AccessibilityObject.h:
1153         * css/WebKitCSSMatrix.cpp:
1154         * html/HTMLAreaElement.cpp:
1155         * html/canvas/CanvasRenderingContext2D.cpp:
1156         * inspector/InspectorController.cpp:
1157         * platform/graphics/FloatPoint.cpp:
1158         * platform/graphics/Font.cpp:
1159         * platform/graphics/Font.h:
1160         * platform/graphics/FontFastPath.cpp:
1161         * platform/graphics/GraphicsContext.cpp:
1162         * platform/graphics/ImageBuffer.h:
1163         * platform/graphics/StringTruncator.cpp:
1164         * platform/graphics/WidthIterator.cpp:
1165         * platform/graphics/mac/ComplexTextController.cpp:
1166         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1167         * platform/graphics/mac/FontComplexTextMac.cpp:
1168         * platform/graphics/transforms/TransformationMatrix.cpp:
1169         * platform/graphics/transforms/TransformationMatrix.h:
1170         * rendering/EllipsisBox.cpp:
1171         * rendering/InlineTextBox.cpp:
1172         * rendering/RenderBlock.cpp:
1173         * rendering/RenderBlockLineLayout.cpp:
1174         * rendering/RenderEmbeddedObject.cpp:
1175         * rendering/RenderFileUploadControl.cpp:
1176         * rendering/RenderFlexibleBox.cpp:
1177         * rendering/RenderImage.cpp:
1178         * rendering/RenderListBox.cpp:
1179         * rendering/RenderListMarker.cpp:
1180         * rendering/RenderMenuList.cpp:
1181         * rendering/RenderObject.h:
1182         * rendering/RenderText.cpp:
1183         * rendering/RenderTextControl.cpp:
1184         * rendering/svg/SVGInlineTextBox.cpp:
1185         * rendering/svg/SVGMarkerLayoutInfo.h:
1186         * rendering/svg/SVGTextMetrics.cpp:
1187         * svg/SVGFont.cpp:
1188
1189 2011-01-19  Adrienne Walker  <enne@google.com>
1190
1191         Reviewed by Kenneth Russell.
1192
1193         [chromium] Tiled compositor should use texture manager
1194         https://bugs.webkit.org/show_bug.cgi?id=52418
1195
1196         Test: compositing/
1197
1198         * platform/graphics/chromium/LayerRendererChromium.cpp:
1199         (WebCore::LayerRendererChromium::~LayerRendererChromium):
1200         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1201         * platform/graphics/chromium/LayerTilerChromium.cpp:
1202         (WebCore::LayerTilerChromium::LayerTilerChromium):
1203         (WebCore::LayerTilerChromium::reset):
1204         (WebCore::LayerTilerChromium::createTile):
1205         (WebCore::LayerTilerChromium::update):
1206         (WebCore::LayerTilerChromium::draw):
1207         * platform/graphics/chromium/LayerTilerChromium.h:
1208         (WebCore::LayerTilerChromium::Tile::Tile):
1209         (WebCore::LayerTilerChromium::Tile::texture):
1210
1211 2011-01-19  Stephen White  <senorblanco@chromium.org>
1212
1213         Unreviewed; build fix for chromium.
1214
1215         * platform/graphics/chromium/GLES2Canvas.cpp:
1216         (WebCore::GLES2Canvas::fillPath):
1217
1218 2011-01-18  Stephen White  <senorblanco@chromium.org>
1219
1220         Reviewed by James Robinson.
1221
1222         Implement accelerated path drawing and clipping for the Canvas2D GPU
1223         path.
1224         https://bugs.webkit.org/show_bug.cgi?id=52627
1225         
1226         This is done with a simple curve interpolator and the GLU tesselator,
1227         which is good enough for a 3-5X speedup on
1228         http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
1229
1230         Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
1231         All tests canvas/philip and fast/canvas paths pass with no
1232         regressions, although two have minor pixel differences which require
1233         rebaselining.
1234
1235         * WebCore.gyp/WebCore.gyp:
1236         Add internal_glu include path to chromium build.
1237         * WebCore.gypi:
1238         Add internal_glu files to chromium build.
1239         * html/canvas/CanvasRenderingContext2D.cpp:
1240         (WebCore::CanvasRenderingContext2D::reset):
1241         (WebCore::CanvasRenderingContext2D::platformLayer):
1242         Make CanvasRenderingContext2D more robust against failure to create
1243         a DrawingBuffer.
1244         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1245         (WebCore::DrawingBuffer::DrawingBuffer):
1246         As in DrawingBufferMac.cpp, call reset() from the constructor.
1247         Also initialize size to (-1, -1), so reset() doesn't early-out.
1248         Add initializers for depthBuffer and stencilBuffer, and remove
1249         multisampleDepthStencilBuffer.
1250         * platform/graphics/chromium/GLES2Canvas.cpp:
1251         Remove some unused #includes.
1252         (WebCore::GLES2Canvas::State::State):
1253         Add clipping state, and implement save/restore via the copy constructor.
1254         (WebCore::operator*):
1255         (WebCore::Quadratic::Quadratic):
1256         (WebCore::Quadratic::fromBezier):
1257         (WebCore::Quadratic::evaluate):
1258         Quadratic Bezier curve class.
1259         (WebCore::Cubic::Cubic):
1260         (WebCore::Cubic::fromBezier):
1261         (WebCore::Cubic::evaluate):
1262         Cubic Bezier curve class.
1263         (WebCore::GLES2Canvas::clearRect):
1264         Add clipping support to clearRect().
1265         (WebCore::GLES2Canvas::fillPath):
1266         Implement fillPath().
1267         (WebCore::GLES2Canvas::fillRect):
1268         Add clipping support to fillRect().
1269         (WebCore::GLES2Canvas::clipPath):
1270         Implement clipPath().
1271         (WebCore::GLES2Canvas::clipOut):
1272         Stub out clipOut() (not called by Canvas 2D).
1273         (WebCore::GLES2Canvas::restore):
1274         When restoring, draw any remaining clipping paths to the stencil buffer.
1275         (WebCore::GLES2Canvas::drawTexturedRect):
1276         Add clipping support.
1277         (WebCore::interpolateQuadratic):
1278         (WebCore::interpolateCubic):
1279         Simple curve interpolation, using the Cubic and Quadratic classes.
1280         (WebCore::PolygonData::PolygonData):
1281         A struct to hold the tesselation data for callbacks.
1282         (WebCore::beginData):
1283         (WebCore::edgeFlagData):
1284         (WebCore::vertexData):
1285         (WebCore::endData):
1286         (WebCore::combineData):
1287         internal_glu tesselation callbacks.
1288         (WebCore::GLES2Canvas::createVertexBufferFromPath):
1289         Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
1290         (WebCore::GLES2Canvas::beginStencilDraw):
1291         Enable stencilling, and disable draws to the color buffer.
1292         (WebCore::GLES2Canvas::applyClipping):
1293         If clipping is enabled, set the appropriate GL state.
1294         * platform/graphics/chromium/GLES2Canvas.h:
1295         Document the flavours of drawTexturedRect() a bit, so I don't get confused.
1296         * platform/graphics/gpu/DrawingBuffer.cpp:
1297         (WebCore::DrawingBuffer::clear):
1298         (WebCore::DrawingBuffer::createSecondaryBuffers):
1299         (WebCore::DrawingBuffer::resizeDepthStencil):
1300         (WebCore::DrawingBuffer::reset):
1301         * platform/graphics/gpu/DrawingBuffer.h:
1302         Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
1303         Implement separate depth and stencil buffers for when
1304         OES_packed_depth_stencil is not available.  Refactor creation of
1305         multisampled and non-multisampled depth and stencil buffers into
1306         resizeDepthStencil().
1307         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1308         (WebCore::SharedGraphicsContext3D::create):
1309         Turn on stencil, turn off depth, turn off antialiasing (for now).
1310         (WebCore::SharedGraphicsContext3D::enableStencil):
1311         * platform/graphics/gpu/SharedGraphicsContext3D.h:
1312         Implement stencil enable/disable.
1313         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
1314         (WebCore::DrawingBuffer::DrawingBuffer):
1315         Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
1316         on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
1317         and m_stencilBuffer.
1318         * platform/graphics/skia/GraphicsContextSkia.cpp:
1319         (WebCore::GraphicsContext::canvasClip):
1320         (WebCore::GraphicsContext::clipOut):
1321         (WebCore::GraphicsContext::clipPath):
1322         (WebCore::GraphicsContext::fillPath):
1323         Put in GPU hooks for path clipping, and path drawing.
1324         * platform/graphics/skia/PlatformContextSkia.cpp:
1325         (WebCore::PlatformContextSkia::canAccelerate):
1326         Don't check for clipping paths in canAccelerate() (since we can
1327         now accelerate them).
1328         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
1329         Don't do clipping when uploading software draws to hardware.
1330         * thirdparty/glu/README.webkit:
1331         * thirdparty/glu/gluos.h:
1332         #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
1333         * thirdparty/glu/libtess/geom.c:
1334         * thirdparty/glu/libtess/priorityq.c:
1335         * thirdparty/glu/libtess/render.c:
1336         Use do{}while(0) instead of if(1)else construct in macro.
1337         * thirdparty/glu/libtess/sweep.c:
1338         (IsWindingInside):
1339         (DoneEdgeDict):
1340         Fix some warnings treated as errors for the Linux Release build.
1341
1342 2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1343
1344         Unreviewed, rolling out r76144.
1345         http://trac.webkit.org/changeset/76144
1346         https://bugs.webkit.org/show_bug.cgi?id=52737
1347
1348         Broke tests on multiple bots, mostly Chromium Canaries
1349         (Requested by dimich on #webkit).
1350
1351         * rendering/RenderText.cpp:
1352         (WebCore::RenderText::localCaretRect):
1353
1354 2011-01-19  Simon Fraser  <simon.fraser@apple.com>
1355
1356         Reviewed by Adam Roben.
1357
1358         [CSS Gradients] Crash due to out-of-memory with repeating-linear-gradient and latter stop positioned before former
1359         https://bugs.webkit.org/show_bug.cgi?id=52732
1360         
1361         When repeating gradient stops, make sure that the first and last stops are not at the same
1362         place, otherwise we'll add stops indefinitely and run out of memory.
1363
1364         Test: fast/gradients/zero-range-repeating-gradient-hang.html
1365
1366         * css/CSSGradientValue.cpp:
1367         (WebCore::CSSGradientValue::addStops):
1368
1369 2011-01-14  Dimitri Glazkov  <dglazkov@chromium.org>
1370
1371         Reviewed by Darin Adler.
1372
1373         Remove event forwarding logic from input[type=range], simplify event flow and thumb positioning logic.
1374         https://bugs.webkit.org/show_bug.cgi?id=52464
1375
1376         This change has two parts:
1377
1378         1) Utilize shadow DOM event retargeting to get rid of forwarding events
1379            via render tree;
1380         2) Move thumb positioning logic from RenderSlider to SliderThumbElement.
1381
1382         These two are highly co-dependent. It looked ugly when I tried to
1383         separate them.
1384
1385         No change in behavior, covered by existing tests.
1386
1387         * html/HTMLInputElement.cpp:
1388         (WebCore::HTMLInputElement::defaultEventHandler): Added invocation of
1389             InputType::handleMouseDownEvent.
1390         * html/InputType.cpp:
1391         (WebCore::InputType::handleMouseDownEvent): Added empty decl.
1392         * html/InputType.h: Added def.
1393         * html/RangeInputType.cpp:
1394         (WebCore::RangeInputType::handleMouseDownEvent): Added to handle the case
1395             when the user clicks on the track of the slider. Also removed the
1396             forwardEvent method.
1397         * html/RangeInputType.h: Added/removed defs.
1398         * html/shadow/SliderThumbElement.cpp:
1399         (WebCore::SliderThumbElement::dragFrom): Added a helper method to start
1400             dragging from any position.
1401         (WebCore::SliderThumbElement::dragTo): Added a helper method to drag to
1402             specified position.
1403         (WebCore::SliderThumbElement::setPosition): Collapsed most of the positioning
1404             logic in RenderSlider into this method, which is now a simple calculation
1405             and adjusting of thumb position based on supplied coordinates.
1406         (WebCore::SliderThumbElement::startDragging): Added.
1407         (WebCore::SliderThumbElement::stopDragging): Added.
1408         (WebCore::SliderThumbElement::defaultEventHandler): Removed most of the
1409             old position-sniffing logic and replaced with simple calls to start,
1410             stop, and drag the thumb.
1411         * html/shadow/SliderThumbElement.h: Added defs.
1412         * rendering/RenderSlider.cpp: Removed a bunch of code that is no longer
1413             necessary.
1414         * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness.
1415
1416 2011-01-19  Shane Stephens  <shanestephens@google.com>
1417
1418         Reviewed by Chris Marrin.
1419
1420         Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major)
1421         https://bugs.webkit.org/show_bug.cgi?id=48031
1422
1423         Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and
1424         operator*= usage and switched operand order.
1425
1426         No new tests as this refactor doesn't add functionality.
1427
1428         * html/HTMLCanvasElement.cpp:
1429         (WebCore::HTMLCanvasElement::baseTransform):
1430         * html/canvas/CanvasRenderingContext2D.cpp:
1431         (WebCore::CanvasRenderingContext2D::transform):
1432         (WebCore::CanvasRenderingContext2D::setTransform):
1433         * platform/graphics/cg/PatternCG.cpp:
1434         (WebCore::Pattern::createPlatformPattern):
1435         * platform/graphics/chromium/GLES2Canvas.cpp:
1436         (WebCore::GLES2Canvas::fillRect):
1437         (WebCore::GLES2Canvas::concatCTM):
1438         (WebCore::GLES2Canvas::drawQuad):
1439         * platform/graphics/chromium/TransparencyWin.cpp:
1440         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
1441         (WebCore::TransparencyWin::setupTransformForKeepTransform):
1442         * platform/graphics/transforms/AffineTransform.cpp:
1443         (WebCore::AffineTransform::multiply):
1444         (WebCore::AffineTransform::rotate):
1445         * platform/graphics/transforms/AffineTransform.h:
1446         (WebCore::AffineTransform::operator*=):
1447         (WebCore::AffineTransform::operator*):
1448         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1449         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
1450         * platform/graphics/wince/SharedBitmap.cpp:
1451         (WebCore::SharedBitmap::drawPattern):
1452         * rendering/svg/RenderSVGResourceContainer.cpp:
1453         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
1454         * rendering/svg/RenderSVGResourceGradient.cpp:
1455         (WebCore::clipToTextMask):
1456         (WebCore::RenderSVGResourceGradient::applyResource):
1457         * rendering/svg/RenderSVGResourcePattern.cpp:
1458         (WebCore::RenderSVGResourcePattern::applyResource):
1459         * rendering/svg/RenderSVGRoot.cpp:
1460         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
1461         * rendering/svg/SVGImageBufferTools.cpp:
1462         (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem):
1463         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
1464         * rendering/svg/SVGTextLayoutEngine.cpp:
1465         (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
1466         * svg/SVGLocatable.cpp:
1467         (WebCore::SVGLocatable::computeCTM):
1468         (WebCore::SVGLocatable::getTransformToElement):
1469         * svg/SVGMatrix.h:
1470         (WebCore::SVGMatrix::multiply):
1471         * svg/SVGSVGElement.cpp:
1472         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
1473         (WebCore::SVGSVGElement::viewBoxToViewTransform):
1474         * svg/SVGStyledTransformableElement.cpp:
1475         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
1476         * svg/SVGTextElement.cpp:
1477         (WebCore::SVGTextElement::animatedLocalTransform):
1478         * svg/SVGTransformList.cpp:
1479         (WebCore::SVGTransformList::concatenate):
1480
1481 2011-01-19  Chang Shu  <chang.shu@nokia.com>
1482
1483         Reviewed by Darin Adler.
1484
1485         The return value of contentEditable() function should depend on the DOM attribute
1486         instead of render style userModify. The code change fixed test cases in the bug
1487         and partially fixed test cases in other contentEditable bugs;
1488
1489         https://bugs.webkit.org/show_bug.cgi?id=52056
1490
1491         * html/HTMLElement.cpp:
1492         (WebCore::HTMLElement::contentEditable):
1493
1494 2011-01-19  Levi Weintraub  <leviw@chromium.org>
1495
1496         Reviewed by Darin Adler.
1497
1498         Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
1499         logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
1500         resulted in the caret being placed incorrectly in overflowing editable IFrame content.
1501
1502         Long lines in non-white-space-pre editable documents show cursor in wrong place
1503         https://bugs.webkit.org/show_bug.cgi?id=48132
1504
1505         Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html
1506
1507         * rendering/RenderText.cpp:
1508         (WebCore::RenderText::localCaretRect):
1509
1510 2011-01-19  Chris Marrin  <cmarrin@apple.com>
1511
1512         Reviewed by Simon Fraser.
1513
1514         WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
1515         https://bugs.webkit.org/show_bug.cgi?id=52695
1516
1517         Added ASSERTs to the places we assume a non-null superlayer.
1518
1519         * platform/graphics/ca/GraphicsLayerCA.cpp:
1520         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
1521         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
1522
1523 2011-01-18  Beth Dakin  <bdakin@apple.com>
1524
1525         Reviewed by Maciej Stachowiak.
1526
1527         Fix for <rdar://problem/8882916> Overlay scrollers require 
1528         content to layout underneath the scrollbar area
1529
1530         The render tree should not include scrollbar size for
1531         overlay scrollers. This patch will allow scrollers on
1532         the WebView to behave like overflow:overlay.
1533
1534         Treat overlay scrollers the same way as the !includeScrollbars
1535         case.
1536         * platform/ScrollView.cpp:
1537         (WebCore::ScrollView::visibleContentRect):
1538
1539         No corner rect for overlay scrollers.
1540         (WebCore::ScrollView::scrollCornerRect):
1541
1542         usesOverlayScrollbars() currently always returns no.
1543         * platform/ScrollbarTheme.h:
1544         (WebCore::ScrollbarTheme::usesOverlayScrollbars):
1545         * platform/mac/ScrollbarThemeMac.h:
1546         * platform/mac/ScrollbarThemeMac.mm:
1547         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
1548
1549         includeVerticalScrollbarSize() and includeHorizontalScrollbarSize()
1550         should return false for overlay scrollers. They already return
1551         false for overflow:overlay.
1552         * rendering/RenderBox.cpp:
1553         (WebCore::RenderBox::includeVerticalScrollbarSize):
1554         (WebCore::RenderBox::includeHorizontalScrollbarSize):
1555         * rendering/RenderBox.h:
1556
1557         In the render tree, always treat overlay scrollers like
1558         they have a width and height of 0.
1559         * rendering/RenderLayer.cpp:
1560         (WebCore::RenderLayer::verticalScrollbarWidth):
1561         (WebCore::RenderLayer::horizontalScrollbarHeight):
1562         * rendering/RenderListBox.cpp:
1563         (WebCore::RenderListBox::verticalScrollbarWidth):
1564
1565 2011-01-18  Evan Martin  <evan@chromium.org>
1566
1567         Reviewed by Tony Chang.
1568
1569         [chromium] simplify complex text code, fixing a handful of layout tests
1570         https://bugs.webkit.org/show_bug.cgi?id=52661
1571
1572         Change ComplexTextControllerLinux to lay out RTL text to the left from
1573         the starting point.  (Previously it always went to the right.)  This allows
1574         us to map pixel offsets more directly into offsets within the text runs,
1575         simplifying a few of the text-fiddling functions (they no longer need to
1576         track the current position, as ComplexTextController now does it).
1577
1578         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1579         (WebCore::ComplexTextController::ComplexTextController):
1580         (WebCore::ComplexTextController::reset):
1581         (WebCore::ComplexTextController::setGlyphXPositions):
1582         * platform/graphics/chromium/ComplexTextControllerLinux.h:
1583         (WebCore::ComplexTextController::offsetX):
1584         * platform/graphics/chromium/FontLinux.cpp:
1585         (WebCore::Font::drawComplexText):
1586         (WebCore::Font::floatWidthForComplexText):
1587         (WebCore::glyphIndexForXPositionInScriptRun):
1588         (WebCore::Font::offsetForPositionForComplexText):
1589         (WebCore::Font::selectionRectForComplexText):
1590
1591 2011-01-19  Pavel Feldman  <pfeldman@chromium.org>
1592
1593         Reviewed by Yury Semikhatsky.
1594
1595         Web Inspector: move methods from InjectedScript domain into DOM,
1596         Runtime and Debugger domains. Introduce InspectorRuntimeAgent.
1597         https://bugs.webkit.org/show_bug.cgi?id=52717
1598
1599         * CMakeLists.txt:
1600         * GNUmakefile.am:
1601         * WebCore.gypi:
1602         * WebCore.pro:
1603         * WebCore.vcproj/WebCore.vcproj:
1604         * WebCore.xcodeproj/project.pbxproj:
1605         * inspector/CodeGeneratorInspector.pm:
1606         * inspector/InjectedScript.cpp:
1607         (WebCore::InjectedScript::evaluateOnCallFrame):
1608         (WebCore::InjectedScript::getCompletions):
1609         (WebCore::InjectedScript::getCompletionsOnCallFrame):
1610         * inspector/InjectedScript.h:
1611         * inspector/InjectedScriptHost.cpp:
1612         (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
1613         * inspector/InjectedScriptHost.h:
1614         * inspector/InjectedScriptSource.js:
1615         (.):
1616         ():
1617         * inspector/Inspector.idl:
1618         * inspector/InspectorController.cpp:
1619         (WebCore::InspectorController::connectFrontend):
1620         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
1621         * inspector/InspectorController.h:
1622         * inspector/InspectorDOMAgent.cpp:
1623         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1624         (WebCore::InspectorDOMAgent::resolveNode):
1625         (WebCore::InspectorDOMAgent::getNodeProperties):
1626         (WebCore::InspectorDOMAgent::getNodePrototypes):
1627         (WebCore::InspectorDOMAgent::injectedScriptForNodeId):
1628         * inspector/InspectorDOMAgent.h:
1629         (WebCore::EventListenerInfo::EventListenerInfo):
1630         (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
1631         (WebCore::InspectorDOMAgent::create):
1632         (WebCore::InspectorDOMAgent::cast):
1633         (WebCore::InspectorDOMAgent::documents):
1634         * inspector/InspectorDebuggerAgent.cpp:
1635         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1636         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
1637         (WebCore::InspectorDebuggerAgent::injectedScriptForCallFrameId):
1638         * inspector/InspectorDebuggerAgent.h:
1639         * inspector/InspectorRuntimeAgent.cpp: Added.
1640         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1641         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
1642         (WebCore::InspectorRuntimeAgent::evaluate):
1643         (WebCore::InspectorRuntimeAgent::getCompletions):
1644         (WebCore::InspectorRuntimeAgent::getProperties):
1645         (WebCore::InspectorRuntimeAgent::setPropertyValue):
1646         (WebCore::InspectorRuntimeAgent::pushNodeToFrontend):
1647         (WebCore::InspectorRuntimeAgent::injectedScriptForObjectId):
1648         * inspector/InspectorRuntimeAgent.h: Copied from Source/WebCore/inspector/InjectedScript.h.
1649         (WebCore::InspectorRuntimeAgent::create):
1650         * inspector/front-end/ConsoleView.js:
1651         (WebInspector.ConsoleView.prototype.completions):
1652         * inspector/front-end/ScriptsPanel.js:
1653         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
1654
1655 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
1656
1657         Reviewed by Yury Semikhatsky.
1658
1659         Web Inspector: add UglifyJS parser and formatter files
1660         https://bugs.webkit.org/show_bug.cgi?id=51702
1661
1662         * WebCore.gypi:
1663         * WebCore.vcproj/WebCore.vcproj:
1664         * inspector/front-end/ScriptFormatter.js:
1665         (WebInspector.ScriptFormatter.positionToLocation):
1666         (WebInspector.ScriptFormatter.prototype.format.messageHandler):
1667         (WebInspector.ScriptFormatter.prototype.format):
1668         (WebInspector.ScriptFormatter.prototype._buildMapping):
1669         (WebInspector.ScriptFormatter.prototype._convertPosition):
1670         * inspector/front-end/SourceFrame.js:
1671         (WebInspector.SourceFrame.prototype.formatSource.didFormat):
1672         (WebInspector.SourceFrame.prototype.formatSource):
1673         * inspector/front-end/WebKit.qrc:
1674         * inspector/front-end/parse-js.js: Added. UglifyJS parser.
1675         * inspector/front-end/process.js: Added. UglifyJS formatter.
1676         * inspector/front-end/scriptFormatterWorker.js: Added. Worker script that wraps UglifyJS code.
1677         (onmessage):
1678         (beautify):
1679         (loadModule):
1680         (require):
1681         * inspector/front-end/utilities.js:
1682         ():
1683
1684 2011-01-19  Pavel Podivilov  <podivilov@chromium.org>
1685
1686         Reviewed by Yury Semikhatsky.
1687
1688         Web Inspector: [JSC] scripts have incorrect starting line (always 1).
1689         https://bugs.webkit.org/show_bug.cgi?id=52721
1690
1691         Test: inspector/debugger-scripts.html
1692
1693         * bindings/js/ScriptDebugServer.cpp:
1694         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1695         (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
1696         (WebCore::ScriptDebugServer::sourceParsed):
1697         * bindings/js/ScriptDebugServer.h:
1698         * bindings/js/ScriptSourceCode.h:
1699         (WebCore::ScriptSourceCode::ScriptSourceCode):
1700         * bindings/js/StringSourceProvider.h:
1701         (WebCore::StringSourceProvider::create):
1702         (WebCore::StringSourceProvider::startPosition):
1703         (WebCore::StringSourceProvider::StringSourceProvider):
1704
1705 2011-01-19  Satish Sampath  <satish@chromium.org>
1706
1707         Reviewed by Jeremy Orlow.
1708
1709         Send origin/url as part of speech input requests to the embedder.
1710         https://bugs.webkit.org/show_bug.cgi?id=52718
1711
1712         * page/SpeechInput.cpp:
1713         (WebCore::SpeechInput::startRecognition): Pass up additional origin parameter.
1714         * page/SpeechInput.h:
1715         * page/SpeechInputClient.h:
1716         * platform/mock/SpeechInputClientMock.cpp:
1717         (WebCore::SpeechInputClientMock::startRecognition): Updated prototype.
1718         * platform/mock/SpeechInputClientMock.h:
1719         * rendering/TextControlInnerElements.cpp:
1720         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Pass the frame origin to speech input request.
1721
1722 2011-01-19  Hans Wennborg  <hans@chromium.org>
1723
1724         Reviewed by Jeremy Orlow.
1725
1726         IndexedDB: Support auto-increment keys
1727         https://bugs.webkit.org/show_bug.cgi?id=52576
1728
1729         Add support for auto-increment keys.
1730
1731         Test: storage/indexeddb/objectstore-autoincrement.html
1732
1733         * storage/IDBDatabase.cpp:
1734         (WebCore::IDBDatabase::createObjectStore):
1735         * storage/IDBObjectStoreBackendImpl.cpp:
1736         (WebCore::genAutoIncrementKey):
1737         (WebCore::IDBObjectStoreBackendImpl::putInternal):
1738
1739 2011-01-19  Csaba Osztrogonác  <ossy@webkit.org>
1740
1741         Reviewed by Laszlo Gombos and Tor Arne Vestbø.
1742
1743         [Qt] Remove unnecessary "../Source" from paths
1744         after moving source files into Source is finished.
1745
1746         * WebCore.pri:
1747         * WebCore.pro:
1748
1749 2011-01-19  Alexander Pavlov  <apavlov@chromium.org>
1750
1751         Reviewed by Pavel Feldman.
1752
1753         Web Inspector: Employ TextPrompt for CSS property name/value autocompletion
1754         https://bugs.webkit.org/show_bug.cgi?id=52212
1755
1756         WebInspector.CSSKeywordCompletions contains a hand-written list of accepted CSS property value keywords
1757         for each property. WebInspector.TextPrompt is used to suggest both the name and value keywords while
1758         editing styles, in place of the old custom suggestion code.
1759
1760         * inspector/front-end/CSSCompletions.js:
1761         (WebInspector.CSSCompletions.prototype.startsWith): Fix array-out-of-bounds error.
1762         * inspector/front-end/CSSKeywordCompletions.js: Added.
1763         (WebInspector.CSSKeywordCompletions.forProperty):
1764         * inspector/front-end/StylesSidebarPane.js:
1765         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
1766         (WebInspector.StylePropertyTreeElement.prototype):
1767         ():
1768         * inspector/front-end/TextPrompt.js:
1769         (WebInspector.TextPrompt):
1770         (WebInspector.TextPrompt.prototype.removeFromElement):
1771         (WebInspector.TextPrompt.prototype._onKeyDown):
1772         (WebInspector.TextPrompt.prototype.tabKeyPressed):
1773         (WebInspector.TextPrompt.prototype.upKeyPressed):
1774         (WebInspector.TextPrompt.prototype.downKeyPressed):
1775         (WebInspector.TextPrompt.prototype._moveBackInHistory):
1776         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
1777         * inspector/front-end/inspector.css:
1778         (.auto-complete-text, .editing .auto-complete-text):
1779         * inspector/front-end/inspector.html:
1780
1781 2011-01-19  Dai Mikurube  <dmikurube@google.com>
1782
1783         Reviewed by Kent Tamura.
1784
1785         Implement onformchange and onforminput event handlers
1786         https://bugs.webkit.org/show_bug.cgi?id=26141
1787
1788         Tests: fast/forms/formchange-event.html
1789                fast/forms/forminput-event.html
1790
1791         * bindings/scripts/CodeGeneratorGObject.pm: Added event names.
1792         * dom/Document.h: Added event definitions.
1793         * dom/Document.idl: Added event definitions.
1794         * dom/Element.h: Added event definitions.
1795         * dom/Element.idl: Added event definitions.
1796         * dom/Event.cpp:
1797         (WebCore::Event::fromUserGesture): Added a condition for a formchange event in handling user gestures.
1798         * dom/EventNames.h: Added event definitions.
1799         * dom/InputElement.cpp:
1800         (WebCore::InputElement::setValueFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(), a virtual function which broadcasts forminput events for HTML elements.
1801         * dom/Node.cpp:
1802         (WebCore::Node::dispatchInputEvents): Defined basic dispatchInputEvents() described above.
1803         (WebCore::Node::dispatchChangeEvents): Defined basic dispatchChangeEvents() described above.
1804         (WebCore::Node::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
1805         * dom/Node.h:
1806         * html/FormAssociatedElement.h: Added isResettable() to check the element is resettable or not.
1807         * html/HTMLAttributeNames.in: Added event names.
1808         * html/HTMLElement.cpp:
1809         (WebCore::HTMLElement::parseMappedAttribute): Added event handling.
1810         (WebCore::HTMLElement::shadowAncestorOwnerForm): Added to get an ancestor <form> element from a shadow element.
1811         (WebCore::HTMLElement::dispatchChangeEvents): Defined dispatchChangeEvents() for HTML elements described above.
1812         (WebCore::HTMLElement::dispatchInputEvents): Defined dispatchInputEvents() for HTML elements described above.
1813         * html/HTMLElement.h:
1814         * html/HTMLFormControlElement.cpp:
1815         (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Added calling dispatchFormChange() to broadcast formchange events.
1816         (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Defined newly to dispatch an input event with broadcasting forminput events.
1817         * html/HTMLFormControlElement.h: Added isResettable().
1818         * html/HTMLFormElement.cpp:
1819         (WebCore::HTMLFormElement::broadcastFormEvent): Added to broadcast forminput or formchange events.
1820         (WebCore::HTMLFormElement::dispatchFormInput): Defined newly to broadcast forminput events.
1821         (WebCore::HTMLFormElement::dispatchFormChange): Defined newly to broadcast formchange events.
1822         * html/HTMLFormElement.h:
1823         * html/HTMLFormElement.idl: Added dispatchFormInput() and dispatchFormChange() DOM API definitions.
1824         * html/HTMLInputElement.cpp:
1825         (WebCore::HTMLInputElement::stepUpFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents().
1826         * html/HTMLInputElement.h: Added isResettable().
1827         * html/HTMLKeygenElement.h: Added isResettable().
1828         * html/HTMLObjectElement.h: Added isResettable().
1829         * html/HTMLOutputElement.h: Added isResettable().
1830         * html/HTMLSelectElement.h: Added isResettable().
1831         * html/HTMLTextAreaElement.h: Added isResettable().
1832         * page/DOMWindow.h: Added event definitions.
1833         * page/DOMWindow.idl: Added event definitions.
1834         * rendering/TextControlInnerElements.cpp:
1835         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
1836
1837 2011-01-19  Andrey Kosyakov  <caseq@chromium.org>
1838
1839         Reviewed by Pavel Feldman.
1840
1841         Web Inspector: [Extensions API] delete pending callback from callback map before invoking it
1842         https://bugs.webkit.org/show_bug.cgi?id=52707
1843
1844         * inspector/front-end/ExtensionAPI.js:
1845         (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):
1846
1847 2011-01-19  Levi Weintraub  <leviw@google.com>
1848
1849         Reviewed by Ryosuke Niwa.
1850
1851         Replaced rangeCompliantEquivalent with Position::parentAnchoredEquivalent
1852         and simplified the logic a bit. Unfortunately, Tables and some legacy
1853         editing positions still need to be handled specifically.
1854
1855         remove rangeCompliantEquivalent and replace it with Position methods
1856         https://bugs.webkit.org/show_bug.cgi?id=25057
1857
1858         No new tests as this is a refactor that doesn't change behavior.
1859
1860         * WebCore.exp.in:
1861         * dom/Document.cpp:
1862         (WebCore::Document::caretRangeFromPoint):
1863         * dom/Position.cpp:
1864         (WebCore::Position::parentAnchoredEquivalent):
1865         * dom/Position.h:
1866         * editing/ApplyStyleCommand.cpp:
1867         (WebCore::ApplyStyleCommand::applyBlockStyle):
1868         * editing/CompositeEditCommand.cpp:
1869         (WebCore::CompositeEditCommand::insertNodeAt):
1870         (WebCore::CompositeEditCommand::moveParagraphs):
1871         * editing/DeleteSelectionCommand.cpp:
1872         (WebCore::DeleteSelectionCommand::initializePositionData):
1873         (WebCore::DeleteSelectionCommand::mergeParagraphs):
1874         * editing/Editor.cpp:
1875         (WebCore::Editor::textDirectionForSelection):
1876         (WebCore::Editor::advanceToNextMisspelling):
1877         * editing/InsertLineBreakCommand.cpp:
1878         (WebCore::InsertLineBreakCommand::shouldUseBreakElement):
1879         * editing/InsertParagraphSeparatorCommand.cpp:
1880         (WebCore::InsertParagraphSeparatorCommand::doApply):
1881         * editing/ReplaceSelectionCommand.cpp:
1882         (WebCore::handleStyleSpansBeforeInsertion):
1883         * editing/VisiblePosition.cpp:
1884         (WebCore::makeRange):
1885         (WebCore::setStart):
1886         (WebCore::setEnd):
1887         * editing/VisibleSelection.cpp:
1888         (WebCore::VisibleSelection::firstRange):
1889         (WebCore::VisibleSelection::toNormalizedRange):
1890         (WebCore::makeSearchRange):
1891         * editing/htmlediting.cpp:
1892         (WebCore::indexForVisiblePosition):
1893         * editing/htmlediting.h:
1894         * editing/visible_units.cpp:
1895         (WebCore::previousBoundary):
1896         (WebCore::nextBoundary):
1897         * page/DOMSelection.cpp:
1898         (WebCore::anchorPosition):
1899         (WebCore::focusPosition):
1900         (WebCore::basePosition):
1901         (WebCore::extentPosition):
1902
1903 2011-01-19  Peter Rybin  <peter.rybin@gmail.com>
1904
1905         Reviewed by Yury Semikhatsky.
1906
1907         Web Inspector: script column offset is incorrect
1908         https://bugs.webkit.org/show_bug.cgi?id=52580
1909
1910         Column is updated in 3 places, 2 less probable places contained error.
1911         Fixed now.
1912
1913         * platform/text/SegmentedString.cpp:
1914         (WebCore::SegmentedString::advanceSlowCase):
1915         * platform/text/SegmentedString.h:
1916         (WebCore::SegmentedString::advancePastNewline):
1917
1918 2011-01-18  Pavel Feldman  <pfeldman@chromium.org>
1919
1920         Reviewed by Yury Semikhatsky.
1921
1922         Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol.
1923         https://bugs.webkit.org/show_bug.cgi?id=52652
1924
1925         Calls served by the InjectedScript should be first class protocol
1926         citizens, not dispatched via single protocol message.
1927
1928         * WebCore.gypi:
1929         * WebCore.vcproj/WebCore.vcproj:
1930         * inspector/CodeGeneratorInspector.pm:
1931         * inspector/InjectedScript.cpp:
1932         (WebCore::InjectedScript::evaluate):
1933         (WebCore::InjectedScript::evaluateInCallFrame):
1934         (WebCore::InjectedScript::evaluateOnSelf):
1935         (WebCore::InjectedScript::getCompletions):
1936         (WebCore::InjectedScript::getProperties):
1937         (WebCore::InjectedScript::pushNodeToFrontend):
1938         (WebCore::InjectedScript::resolveNode):
1939         (WebCore::InjectedScript::getNodeProperties):
1940         (WebCore::InjectedScript::getNodePrototypes):
1941         (WebCore::InjectedScript::setPropertyValue):
1942         (WebCore::InjectedScript::makeCall):
1943         * inspector/InjectedScript.h:
1944         * inspector/InjectedScriptHost.cpp:
1945         (WebCore::InjectedScriptHost::evaluate):
1946         (WebCore::InjectedScriptHost::evaluateInCallFrame):
1947         (WebCore::InjectedScriptHost::evaluateOnSelf):
1948         (WebCore::InjectedScriptHost::getCompletions):
1949         (WebCore::InjectedScriptHost::getProperties):
1950         (WebCore::InjectedScriptHost::pushNodeToFrontend):
1951         (WebCore::InjectedScriptHost::resolveNode):
1952         (WebCore::InjectedScriptHost::getNodeProperties):
1953         (WebCore::InjectedScriptHost::getNodePrototypes):
1954         (WebCore::InjectedScriptHost::setPropertyValue):
1955         (WebCore::InjectedScriptHost::injectedScriptForObjectId):
1956         (WebCore::InjectedScriptHost::injectedScriptForNodeId):
1957         (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
1958         * inspector/InjectedScriptHost.h:
1959         * inspector/InjectedScriptSource.js:
1960         (.):
1961         * inspector/Inspector.idl:
1962         * inspector/InspectorController.cpp:
1963         * inspector/InspectorController.h:
1964         * inspector/InspectorValues.cpp:
1965         (WebCore::InspectorObject::getNumber):
1966         * inspector/InspectorValues.h:
1967         * inspector/front-end/AuditRules.js:
1968         (WebInspector.AuditRules.evaluateInTargetWindow):
1969         * inspector/front-end/ConsoleView.js:
1970         (WebInspector.ConsoleView.prototype.completions):
1971         (WebInspector.ConsoleView.prototype.doEvalInWindow):
1972         * inspector/front-end/ElementsTreeOutline.js:
1973         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
1974         * inspector/front-end/ExtensionPanel.js:
1975         (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
1976         * inspector/front-end/ExtensionServer.js:
1977         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
1978         * inspector/front-end/InjectedScriptAccess.js: Removed.
1979         * inspector/front-end/PropertiesSidebarPane.js:
1980         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
1981         (WebInspector.PropertiesSidebarPane.prototype.update):
1982         * inspector/front-end/RemoteObject.js:
1983         (WebInspector.RemoteObject.resolveNode):
1984         (WebInspector.RemoteObject.prototype.getProperties):
1985         (WebInspector.RemoteObject.prototype.setPropertyValue):
1986         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
1987         * inspector/front-end/ScriptsPanel.js:
1988         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
1989         * inspector/front-end/WebKit.qrc:
1990         * inspector/front-end/inspector.html:
1991
1992 2011-01-18  Anton Muhin  <antonm@chromium.org>
1993
1994         Reviewed by Adam Barth.
1995
1996         [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map
1997         https://bugs.webkit.org/show_bug.cgi?id=51683
1998
1999         Covered by the existing tests.
2000
2001         * bindings/v8/DOMDataStore.cpp:
2002         (WebCore::DOMDataStore::weakNodeCallback):
2003         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
2004         * bindings/v8/DOMDataStore.h:
2005         * bindings/v8/V8DOMMap.h:
2006         (WebCore::WeakReferenceMap::removeIfPresent):
2007
2008 2011-01-18 MORITA Hajime  <morrita@google.com>
2009
2010         Reviewed by Ryosuke Niwa.
2011         
2012         Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools.
2013         https://bugs.webkit.org/show_bug.cgi?id=52608
2014
2015         No new tests. no behavioral change.
2016
2017         * GNUmakefile.am:
2018         * WebCore.gypi:
2019         * WebCore.pro:
2020         * WebCore.vcproj/WebCore.vcproj:
2021         * WebCore.xcodeproj/project.pbxproj:
2022         * dom/TextEvent.cpp:
2023         (WebCore::TextEvent::create):
2024         (WebCore::TextEvent::createForDrop):
2025         (WebCore::TextEvent::TextEvent):
2026         * dom/TextEvent.h:
2027         (WebCore::TextEvent::isLineBreak):
2028         (WebCore::TextEvent::isBackTab):
2029         (WebCore::TextEvent::isPaste):
2030         (WebCore::TextEvent::isDrop):
2031         * dom/TextEventInputType.h: Added. Extracted from TextEvent::TextInputType.
2032         * editing/EditorCommand.cpp:
2033         (WebCore::executeInsertBacktab):
2034         (WebCore::executeInsertLineBreak):
2035         (WebCore::executeInsertNewline):
2036         (WebCore::executeInsertTab):
2037         * page/EventHandler.cpp:
2038         (WebCore::EventHandler::handleTextInputEvent):
2039         * page/EventHandler.h:
2040
2041 2011-01-18  Ben Vanik  <ben.vanik@gmail.com>
2042
2043         Reviewed by Kenneth Russell.
2044
2045         Updating ANGLE in WebKit to r533.
2046         https://bugs.webkit.org/show_bug.cgi?id=47194
2047
2048         * platform/graphics/ANGLEWebKitBridge.cpp:
2049         (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
2050         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
2051         (WebCore::ANGLEWebKitBridge::validateShaderSource):
2052         Update to new ANGLE API for shader validation.
2053         * platform/graphics/ANGLEWebKitBridge.h:
2054         (WebCore::ANGLEWebKitBridge::setResources): 
2055         Renaming types to new names.
2056         * platform/graphics/mac/GraphicsContext3DMac.mm:
2057         (WebCore::GraphicsContext3D::GraphicsContext3D):
2058         Initialize ANGLEResources with ANGLE init call to prevent uninitialized variables.
2059
2060 2011-01-18  MORITA Hajime  <morrita@google.com>
2061
2062         Reviewed by Simon Fraser.
2063
2064         Refactoring: Extract RoundedIntRect class
2065         https://bugs.webkit.org/show_bug.cgi?id=51664
2066
2067         RoundedIntRect is a pair of rect and four IntSize objects which represent
2068         corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
2069         Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
2070         return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
2071         and other functions accept RoundedIntRect as an argument.
2072
2073         * Android.mk:
2074         * CMakeLists.txt:
2075         * GNUmakefile.am:
2076         * WebCore.gypi:
2077         * WebCore.pro:
2078         * WebCore.vcproj/WebCore.vcproj:
2079         * WebCore.xcodeproj/project.pbxproj:
2080         * platform/graphics/GraphicsContext.cpp:
2081         (WebCore::GraphicsContext::addRoundedRectClip):
2082         (WebCore::GraphicsContext::clipOutRoundedRect):
2083         (WebCore::GraphicsContext::fillRoundedRect):
2084         * platform/graphics/GraphicsContext.h:
2085         * platform/graphics/RoundedIntRect.cpp: Added.
2086         (WebCore::RoundedIntRect::Radii::isZero):
2087         (WebCore::RoundedIntRect::Radii::scale):
2088         (WebCore::RoundedIntRect::Radii::expand):
2089         (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
2090         (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
2091         (WebCore::RoundedIntRect::RoundedIntRect):
2092         (WebCore::RoundedIntRect::includeLogicalEdges):
2093         (WebCore::RoundedIntRect::excludeLogicalEdges):
2094         * platform/graphics/RoundedIntRect.h: Added.
2095         (WebCore::RoundedIntRect::Radii::Radii):
2096         (WebCore::RoundedIntRect::Radii::setTopLeft):
2097         (WebCore::RoundedIntRect::Radii::setTopRight):
2098         (WebCore::RoundedIntRect::Radii::setBottomLeft):
2099         (WebCore::RoundedIntRect::Radii::setBottomRight):
2100         (WebCore::RoundedIntRect::Radii::topLeft):
2101         (WebCore::RoundedIntRect::Radii::topRight):
2102         (WebCore::RoundedIntRect::Radii::bottomLeft):
2103         (WebCore::RoundedIntRect::Radii::bottomRight):
2104         (WebCore::RoundedIntRect::Radii::expand):
2105         (WebCore::RoundedIntRect::Radii::shrink):
2106         (WebCore::RoundedIntRect::rect):
2107         (WebCore::RoundedIntRect::radii):
2108         (WebCore::RoundedIntRect::isRounded):
2109         (WebCore::RoundedIntRect::isEmpty):
2110         (WebCore::RoundedIntRect::setRect):
2111         (WebCore::RoundedIntRect::setRadii):
2112         (WebCore::RoundedIntRect::move):
2113         (WebCore::RoundedIntRect::inflate):
2114         (WebCore::RoundedIntRect::inflateWithRadii):
2115         (WebCore::RoundedIntRect::expandRadii):
2116         (WebCore::RoundedIntRect::shrinkRadii):
2117         * rendering/RenderBox.cpp:
2118         (WebCore::RenderBox::pushContentsClip):
2119         * rendering/RenderBoxModelObject.cpp:
2120         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2121         (WebCore::RenderBoxModelObject::paintBorder):
2122         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
2123         (WebCore::RenderBoxModelObject::paintBoxShadow):
2124         * rendering/RenderBoxModelObject.h:
2125         * rendering/RenderObject.cpp:
2126         (WebCore::RenderObject::drawBoxSideFromPath):
2127         * rendering/RenderReplaced.cpp:
2128         (WebCore::RenderReplaced::paint):
2129         * rendering/RenderThemeChromiumWin.cpp:
2130         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2131         * rendering/RenderThemeMac.mm:
2132         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2133         (WebCore::RenderThemeMac::paintSliderTrack):
2134         * rendering/RenderThemeSafari.cpp:
2135         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2136         (WebCore::RenderThemeSafari::paintSliderTrack):
2137         * rendering/RenderThemeWinCE.cpp:
2138         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
2139         * rendering/RenderWidget.cpp:
2140         (WebCore::RenderWidget::paint):
2141         * rendering/style/BorderData.h:
2142         * rendering/style/RenderStyle.cpp:
2143         (WebCore::calcRadiiFor):
2144         (WebCore::calcConstraintScaleFor):
2145         (WebCore::RenderStyle::getRoundedBorderFor):
2146         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
2147         * rendering/style/RenderStyle.h:
2148         (WebCore::InheritedFlags::setBorderRadius):
2149
2150 2011-01-18  MORITA Hajime  <morrita@google.com>
2151
2152         Reviewed by Simon Fraser.
2153
2154         Refactoring: Extract RoundedIntRect class
2155         https://bugs.webkit.org/show_bug.cgi?id=51664
2156
2157         RoundedIntRect is a pair of rect and four IntSize objects which represent
2158         corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
2159         Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
2160         return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
2161         and other functions accept RoundedIntRect as an argument.
2162
2163         No new tests. No behavioral change.
2164
2165         * Android.mk:
2166         * CMakeLists.txt:
2167         * WebCore.gypi:
2168         * WebCore.pro:
2169         * WebCore.xcodeproj/project.pbxproj:
2170         * platform/graphics/GraphicsContext.cpp:
2171         (WebCore::GraphicsContext::addRoundedRectClip):
2172         (WebCore::GraphicsContext::clipOutRoundedRect):
2173         (WebCore::GraphicsContext::fillRoundedRect):
2174         * platform/graphics/GraphicsContext.h:
2175         * platform/graphics/RoundedIntRect.cpp: Added.
2176         (WebCore::RoundedIntRect::Radii::isZero):
2177         (WebCore::RoundedIntRect::Radii::scale):
2178         (WebCore::RoundedIntRect::Radii::expand):
2179         (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
2180         (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
2181         (WebCore::RoundedIntRect::RoundedIntRect):
2182         (WebCore::RoundedIntRect::includeLogicalEdges):
2183         (WebCore::RoundedIntRect::excludeLogicalEdges):
2184         * platform/graphics/RoundedIntRect.h: Added.
2185         (WebCore::RoundedIntRect::Radii::Radii):
2186         (WebCore::RoundedIntRect::Radii::setTopLeft):
2187         (WebCore::RoundedIntRect::Radii::setTopRight):
2188         (WebCore::RoundedIntRect::Radii::setBottomLeft):
2189         (WebCore::RoundedIntRect::Radii::setBottomRight):
2190         (WebCore::RoundedIntRect::Radii::topLeft):
2191         (WebCore::RoundedIntRect::Radii::topRight):
2192         (WebCore::RoundedIntRect::Radii::bottomLeft):
2193         (WebCore::RoundedIntRect::Radii::bottomRight):
2194         (WebCore::RoundedIntRect::Radii::expand):
2195         (WebCore::RoundedIntRect::Radii::shrink):
2196         (WebCore::RoundedIntRect::rect):
2197         (WebCore::RoundedIntRect::radii):
2198         (WebCore::RoundedIntRect::isRounded):
2199         (WebCore::RoundedIntRect::isEmpty):
2200         (WebCore::RoundedIntRect::setRect):
2201         (WebCore::RoundedIntRect::setRadii):
2202         (WebCore::RoundedIntRect::move):
2203         (WebCore::RoundedIntRect::inflate):
2204         (WebCore::RoundedIntRect::inflateWithRadii):
2205         (WebCore::RoundedIntRect::expandRadii):
2206         (WebCore::RoundedIntRect::shrinkRadii):
2207         * rendering/RenderBox.cpp:
2208         (WebCore::RenderBox::pushContentsClip):
2209         * rendering/RenderBoxModelObject.cpp:
2210         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2211         (WebCore::RenderBoxModelObject::paintBorder):
2212         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
2213         (WebCore::RenderBoxModelObject::paintBoxShadow):
2214         * rendering/RenderBoxModelObject.h:
2215         * rendering/RenderObject.cpp:
2216         (WebCore::RenderObject::drawBoxSideFromPath):
2217         * rendering/RenderReplaced.cpp:
2218         (WebCore::RenderReplaced::paint):
2219         * rendering/RenderThemeChromiumWin.cpp:
2220         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2221         * rendering/RenderThemeMac.mm:
2222         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2223         (WebCore::RenderThemeMac::paintSliderTrack):
2224         * rendering/RenderThemeSafari.cpp:
2225         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2226         (WebCore::RenderThemeSafari::paintSliderTrack):
2227         * rendering/RenderThemeWinCE.cpp:
2228         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
2229         * rendering/RenderWidget.cpp:
2230         (WebCore::RenderWidget::paint):
2231         * rendering/style/BorderData.h:
2232         * rendering/style/RenderStyle.cpp:
2233         (WebCore::calcRadiiFor):
2234         (WebCore::calcConstraintScaleFor):
2235         (WebCore::RenderStyle::getRoundedBorderFor):
2236         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
2237         * rendering/style/RenderStyle.h:
2238         (WebCore::InheritedFlags::setBorderRadius):
2239
2240 2011-01-18  Victoria Kirst  <vrk@chromium.org>
2241
2242         Reviewed by Kenneth Russell.
2243
2244         [chromium] Adding support for YV16 video frame formats.
2245         https://bugs.webkit.org/show_bug.cgi?id=52345
2246
2247         * platform/graphics/chromium/VideoLayerChromium.cpp:
2248         (WebCore::VideoLayerChromium::determineTextureFormat):
2249         (WebCore::VideoLayerChromium::draw):
2250
2251 2011-01-18  David Hyatt  <hyatt@apple.com>
2252
2253         Reviewed by Dan Bernstein.
2254
2255         <rdar://problem/8479998> REGRESSION (r67660): broken button layout at devforums.apple.com
2256         
2257         Exclude floating objects from shrinking to avoid floats.  They should never do this.  Timing-related bugs could
2258         occur as a result of this mistake, and the change to rewrite pagination to defer layout of floats until they
2259         got encountered on the correct line exposed this issue.
2260
2261         Added /fast/block/float/float-overflow-hidden-containing-block-width.html.
2262
2263         * rendering/RenderBox.cpp:
2264         (WebCore::RenderBox::shrinkToAvoidFloats):
2265
2266 2011-01-18  Zhenyao Mo  <zmo@google.com>
2267
2268         Reviewed by Kenneth Russell.
2269
2270         Make CheckedInt<long> and CheckedInt<unsigned long> work
2271         https://bugs.webkit.org/show_bug.cgi?id=52401
2272
2273         * html/canvas/CheckedInt.h:
2274         (WebCore::CheckedInt::CheckedInt): Merge with the patch provided by Benoit Jacob.
2275         * html/canvas/WebGLBuffer.cpp:
2276         (WebCore::WebGLBuffer::associateBufferDataImpl): Use CheckedInt<long> instead of CheckedInt<int>.
2277         (WebCore::WebGLBuffer::associateBufferSubDataImpl): Ditto.
2278
2279 2011-01-18  Kenneth Russell  <kbr@google.com>
2280
2281         Reviewed by David Levin.
2282
2283         Must strip comments from WebGL shaders before enforcing character set
2284         https://bugs.webkit.org/show_bug.cgi?id=52390
2285
2286         Strip comments from incoming shaders, preserving line numbers,
2287         before validating that they conform to the ESSL character set.
2288         Revert changes from http://trac.webkit.org/changeset/75735 which
2289         allowed invalid characters to be passed to certain APIs.
2290
2291         Tested with WebGL layout tests, conformance test suite and several
2292         WebGL demos in both Safari and Chromium.
2293
2294         * html/canvas/WebGLRenderingContext.cpp:
2295         (WebCore::StripComments::StripComments::process):
2296         (WebCore::WebGLRenderingContext::shaderSource):
2297
2298 2011-01-18  Ryosuke Niwa  <rniwa@webkit.org>
2299
2300         Reviewed by Eric Seidel.
2301
2302         Stop instantiating legacy editing positions in DeleteSelectionCommand, IndentOudentCommand,
2303         InsertLineBreakCommand, InsertListCOmmand.cpp, InsertParagraphSeparatorCommand, and htmlediting.cpp
2304         https://bugs.webkit.org/show_bug.cgi?id=52644
2305
2306         This is a cleanup to stop instantiating legacy editing positions in the following tests.
2307         firstDeepEditingPositionForNode and lastDeepEditingPositionForNode in htmlediting.h are not updated
2308         because doing so requires significant code changes. They are tracked on the bug 52642.
2309
2310         * editing/DeleteSelectionCommand.cpp:
2311         (WebCore::DeleteSelectionCommand::initializeStartEnd):
2312         (WebCore::updatePositionForNodeRemoval):
2313         (WebCore::DeleteSelectionCommand::removeNode):
2314         (WebCore::updatePositionForTextRemoval):
2315         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2316         * editing/IndentOutdentCommand.cpp:
2317         (WebCore::IndentOutdentCommand::outdentParagraph):
2318         * editing/InsertLineBreakCommand.cpp:
2319         (WebCore::InsertLineBreakCommand::doApply):
2320         * editing/InsertListCommand.cpp:
2321         (WebCore::InsertListCommand::doApplyForSingleParagraph):
2322         (WebCore::InsertListCommand::unlistifyParagraph):
2323         (WebCore::InsertListCommand::listifyParagraph):
2324         * editing/InsertParagraphSeparatorCommand.cpp:
2325         (WebCore::InsertParagraphSeparatorCommand::doApply):
2326         * editing/htmlediting.cpp:
2327         (WebCore::enclosingBlock):
2328         (WebCore::enclosingList):
2329         (WebCore::enclosingListChild):
2330         (WebCore::indexForVisiblePosition):
2331         (WebCore::isNodeVisiblyContainedWithin):
2332         (WebCore::avoidIntersectionWithNode):
2333
2334 2011-01-18  Benjamin Kalman  <kalman@chromium.org>
2335
2336         Reviewed by Ryosuke Niwa.
2337
2338         Tweak style in visible_units.cpp and TextIterator.cpp in preparation for another patch
2339         https://bugs.webkit.org/show_bug.cgi?id=52610
2340
2341         This is a purely aesthetic change.
2342
2343         * editing/TextIterator.cpp:
2344         (WebCore::SimplifiedBackwardsTextIterator::advance):
2345         * editing/visible_units.cpp:
2346         (WebCore::previousBoundary):
2347
2348 2011-01-18  Adam Klein  <adamk@chromium.org>
2349
2350         Reviewed by Darin Fisher.
2351
2352         [Chromium] Replace ChromiumBridge::widgetSetCursor with ChromeClient::setCursor
2353         https://bugs.webkit.org/show_bug.cgi?id=42236
2354
2355         * platform/chromium/ChromiumBridge.h:
2356         * platform/chromium/WidgetChromium.cpp:
2357         (WebCore::Widget::setCursor):
2358
2359 2011-01-18  Chris Fleizach  <cfleizach@apple.com>
2360
2361         Reviewed by Darin Adler.
2362
2363         REGRESSION: A problem with Voiceover and finding links
2364         https://bugs.webkit.org/show_bug.cgi?id=52324
2365
2366         Fallout from recent change to make WebCore return its own scroll view.
2367            1) There were two scroll views in the hierarchy, one which no needed to be ignored.
2368            2) Hit tests for sub frames needed to be offset.
2369            3) The check for whether an attachment is ignored must happen earlier than using
2370               the helpText to determine if an element should be ignored.
2371
2372         Test: platform/mac/accessibility/iframe-with-title-correct-hierarchy.html
2373
2374         * accessibility/AccessibilityObject.cpp:
2375         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
2376         * accessibility/AccessibilityRenderObject.cpp:
2377         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2378         * accessibility/mac/AccessibilityObjectWrapper.mm:
2379         (-[AccessibilityObjectWrapper scrollViewParent]):
2380
2381 2011-01-18  Adam Roben  <aroben@apple.com>
2382
2383         Call alternate CFHTTPCookie functions if available
2384
2385         Fixes <http://webkit.org/b/52637> <rdar://problem/8878984>.
2386
2387         Reviewed by Darin Adler.
2388
2389         * platform/network/cf/CookieJarCFNet.cpp: Added soft-linking macros to
2390         pull in the alternate CFHTTPCookie functions.
2391
2392         (WebCore::cookieDomain):
2393         (WebCore::cookieExpirationTime):
2394         (WebCore::cookieName):
2395         (WebCore::cookiePath):
2396         (WebCore::cookieValue):
2397         Added these wrappers around the CFHTTPCookie functions. We call the
2398         alternate functions if they exist, otherwise fall back to the current
2399         functions.
2400
2401         (WebCore::filterCookies):
2402         (WebCore::getRawCookies):
2403         (WebCore::deleteCookie):
2404         Changed to use the wrapper functions.
2405
2406 2011-01-18  Martin Robinson  <mrobinson@igalia.com>
2407
2408         Reviewed by Eric Seidel.
2409
2410         [GTK] Filenames are converted to URLs during edit drags
2411         https://bugs.webkit.org/show_bug.cgi?id=52096
2412
2413         * platform/gtk/DragDataGtk.cpp: Only advertise and deliver filenames as URLs if the
2414         conversion policy allows it.
2415         (WebCore::DragData::containsURL): Ditto.
2416         (WebCore::DragData::asURL): Ditto.
2417
2418 2011-01-18  Helder Correia  <helder@sencha.com>
2419
2420         Reviewed by Kenneth Rohde Christiansen.
2421
2422         [Qt] Incorrect shadow alpha with semi-transparent solid fillStyle
2423         https://bugs.webkit.org/show_bug.cgi?id=52611
2424
2425         This is related to bug 52559. The shadow color alpha must be multiplied
2426         by the context brush alpha.
2427
2428         Test: fast/canvas/canvas-fillPath-alpha-shadow.html
2429
2430         * platform/graphics/qt/GraphicsContextQt.cpp:
2431         (WebCore::GraphicsContext::fillPath):
2432
2433 2011-01-18  Andrey Kosyakov  <caseq@chromium.org>
2434
2435         Reviewed by Yury Semikhatsky.
2436
2437         Web Inspector: fail resource.requestContent() immediately for WebSocket resources
2438         https://bugs.webkit.org/show_bug.cgi?id=52628
2439
2440         * English.lproj/localizedStrings.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
2441         * inspector/front-end/ExtensionServer.js: Do not expose webInspector.resources.Types in extensions API (obsolete)
2442         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
2443         * inspector/front-end/Resource.js:
2444         (WebInspector.Resource.Type.toUIString): Remove ResourceType.Media as it's not used.
2445         (WebInspector.Resource.Type.toString): ditto.
2446         (WebInspector.Resource.prototype.requestContent): Fail immediately for WebSocket resources.
2447         * inspector/front-end/inspector.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
2448
2449 2011-01-18  Helder Correia  <helder@sencha.com>
2450
2451         Reviewed by Dirk Schulze.
2452
2453         REGRESSION(75139): SVG gradients are not applied to texts
2454         https://bugs.webkit.org/show_bug.cgi?id=52531
2455
2456         r75139 caused a problem with filling and stroking text with a gradient
2457         fill in SVG. The order of CGContextConcatCTM and CGContextClipToRect
2458         was mixed up.
2459
2460         Test: svg/css/text-gradient-shadow.svg
2461
2462         * platform/graphics/cg/GraphicsContextCG.cpp:
2463         (WebCore::GraphicsContext::fillRect):
2464
2465 2011-01-18  Leo Yang  <leo.yang@torchmobile.com.cn>
2466
2467         Reviewed by Nikolas Zimmermann.
2468
2469         Unable to indirectly animate visibility of SVGUseElement
2470         https://bugs.webkit.org/show_bug.cgi?id=50240
2471
2472         SVGUseElement::recalcStyle should take care of its shadow
2473         tree's style recalculation when it is called with change >= Inherit
2474         or when childNeedsStyleRecalc() is true because in these two
2475         cases needStyleRecalc() may not be true.
2476
2477         Test: svg/custom/use-inherit-style.svg
2478
2479         * svg/SVGUseElement.cpp:
2480         (WebCore::SVGUseElement::recalcStyle):
2481
2482 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
2483
2484         Reviewed by Yury Semikhatsky.
2485
2486         Web Inspector: provide script length to frontend.
2487         https://bugs.webkit.org/show_bug.cgi?id=52620
2488
2489         * inspector/Inspector.idl:
2490         * inspector/InspectorDebuggerAgent.cpp:
2491         (WebCore::InspectorDebuggerAgent::didParseSource):
2492         * inspector/front-end/DebuggerModel.js:
2493         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
2494         (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
2495         * inspector/front-end/Script.js:
2496         (WebInspector.Script):
2497
2498 2011-01-18  Zoltan Herczeg  <zherczeg@webkit.org>
2499
2500         Rubber-stamped by Csaba Osztrogonác
2501
2502         Fixing ChangeLog
2503
2504         Removing a line introduced by
2505         http://trac.webkit.org/changeset/75743/trunk/Source/WebCore/ChangeLog
2506         Removing an unnecessary space before a time stamp.
2507
2508 2011-01-17  Andrey Kosyakov  <caseq@chromium.org>
2509
2510         Reviewed by Yury Semikhatsky.
2511
2512         Web Inspector: [refactoring] use events to notify NetworkManager clients
2513         https://bugs.webkit.org/show_bug.cgi?id=52588
2514
2515         * inspector/front-end/AuditLauncherView.js:
2516         (WebInspector.AuditLauncherView): Do not expose public interface to resource count. Do not reset resource count upon reset().
2517         (WebInspector.AuditLauncherView.prototype._resetResourceCount):
2518         (WebInspector.AuditLauncherView.prototype._onResourceStarted):
2519         (WebInspector.AuditLauncherView.prototype._onResourceFinished):
2520         * inspector/front-end/AuditsPanel.js: Do not expose public interface to resource start/finish events.
2521         * inspector/front-end/ExtensionServer.js:
2522         (WebInspector.ExtensionServer):
2523         (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
2524         (WebInspector.ExtensionServer.prototype.initExtensions):
2525         * inspector/front-end/NetworkManager.js: Dispatch events rather than directly call clients.
2526         (WebInspector.NetworkManager):
2527         (WebInspector.NetworkManager.prototype.willSendRequest):
2528         (WebInspector.NetworkManager.prototype.markResourceAsCached):
2529         (WebInspector.NetworkManager.prototype.didReceiveResponse):
2530         (WebInspector.NetworkManager.prototype.didReceiveContentLength):
2531         (WebInspector.NetworkManager.prototype.setInitialContent):
2532         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
2533         (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
2534         (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
2535         (WebInspector.NetworkManager.prototype._startResource):
2536         (WebInspector.NetworkManager.prototype._finishResource):
2537         * inspector/front-end/NetworkPanel.js:
2538         (WebInspector.NetworkPanel):
2539         (WebInspector.NetworkPanel.prototype._onResourceStarted):
2540         (WebInspector.NetworkPanel.prototype._appendResource):
2541         (WebInspector.NetworkPanel.prototype._onResourceUpdated):
2542         (WebInspector.NetworkPanel.prototype._refreshResource):
2543         (WebInspector.NetworkPanel.prototype._onMainResourceChanged):
2544         * inspector/front-end/ResourcesPanel.js:
2545         (WebInspector.ResourcesPanel):
2546         (WebInspector.ResourcesPanel.prototype._refreshResource):
2547
2548 2011-01-18  Pavel Feldman  <pfeldman@chromium.org>
2549
2550         Reviewed by Yury Semikhatsky.
2551
2552         Web Inspector: preserve pause on exception state in settings.
2553         https://bugs.webkit.org/show_bug.cgi?id=52619
2554
2555         * inspector/InspectorController.cpp:
2556         (WebCore::InspectorController::getInspectorState):
2557         * inspector/InspectorDebuggerAgent.cpp:
2558         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
2559         * inspector/InspectorDebuggerAgent.h:
2560         * inspector/front-end/ScriptsPanel.js:
2561         (WebInspector.ScriptsPanel):
2562         (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
2563         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsState):
2564         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
2565         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
2566         * inspector/front-end/Settings.js:
2567         (WebInspector.Settings):
2568         * inspector/front-end/inspector.js:
2569         (WebInspector.doLoadedDone.populateInspectorState):
2570
2571 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
2572
2573         Reviewed by Yury Semikhatsky.
2574
2575         Web Inspector: [REGRESSION] JavaScript exceptions aren't shown in source frame.
2576         https://bugs.webkit.org/show_bug.cgi?id=52623
2577
2578         * inspector/front-end/ConsoleView.js:
2579         (WebInspector.ConsoleMessage):
2580         (WebInspector.ConsoleMessage.prototype._formatMessage):
2581
2582 2011-01-18  Pavel Feldman  <pfeldman@chromium.org>
2583
2584         Revert r76017. No need to guard InspectorInstrumentation:: in WebCore.
2585
2586         * page/Page.cpp:
2587         (WebCore::networkStateChanged):
2588
2589 2011-01-18  Konstantin Tokarev  <annulen@yandex.ru>
2590
2591         Reviewed by Kent Tamura.
2592
2593         Fixed compilation when Inspector is disabled
2594         https://bugs.webkit.org/show_bug.cgi?id=52564
2595
2596         * page/Page.cpp:
2597         (WebCore::networkStateChanged): Added ENABLE(INSPECTOR) guard
2598
2599 2011-01-18  MORITA Hajime  <morrita@google.com>
2600
2601         Unreviewed, rolling out r76004, r76005, r76007, and r76011.
2602         http://trac.webkit.org/changeset/76004
2603         http://trac.webkit.org/changeset/76005
2604         http://trac.webkit.org/changeset/76007
2605         http://trac.webkit.org/changeset/76011
2606         https://bugs.webkit.org/show_bug.cgi?id=51664
2607
2608         The r76004 broke pixel tests.
2609         (The failure was missed due to the tolerance.)
2610
2611         * Android.mk:
2612         * CMakeLists.txt:
2613         * GNUmakefile.am:
2614         * WebCore.gypi:
2615         * WebCore.pro:
2616         * WebCore.vcproj/WebCore.vcproj:
2617         * WebCore.xcodeproj/project.pbxproj:
2618         * platform/graphics/GraphicsContext.cpp:
2619         (WebCore::GraphicsContext::addRoundedRectClip):
2620         (WebCore::GraphicsContext::clipOutRoundedRect):
2621         * platform/graphics/GraphicsContext.h:
2622         * platform/graphics/RoundedIntRect.cpp: Removed.
2623         * platform/graphics/RoundedIntRect.h: Removed.
2624         * rendering/RenderBox.cpp:
2625         (WebCore::RenderBox::pushContentsClip):
2626         * rendering/RenderBoxModelObject.cpp:
2627         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2628         (WebCore::RenderBoxModelObject::paintBorder):
2629         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
2630         (WebCore::uniformlyExpandBorderRadii):
2631         (WebCore::RenderBoxModelObject::paintBoxShadow):
2632         * rendering/RenderBoxModelObject.h:
2633         * rendering/RenderObject.cpp:
2634         (WebCore::RenderObject::drawBoxSideFromPath):
2635         * rendering/RenderReplaced.cpp:
2636         (WebCore::RenderReplaced::paint):
2637         * rendering/RenderThemeChromiumWin.cpp:
2638         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2639         * rendering/RenderThemeMac.mm:
2640         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2641         (WebCore::RenderThemeMac::paintSliderTrack):
2642         * rendering/RenderThemeSafari.cpp:
2643         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2644         (WebCore::RenderThemeSafari::paintSliderTrack):
2645         * rendering/RenderThemeWinCE.cpp:
2646         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
2647         * rendering/RenderWidget.cpp:
2648         (WebCore::RenderWidget::paint):
2649         * rendering/style/BorderData.h:
2650         * rendering/style/RenderStyle.cpp:
2651         (WebCore::constrainCornerRadiiForRect):
2652         (WebCore::RenderStyle::getBorderRadiiForRect):
2653         (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
2654         * rendering/style/RenderStyle.h:
2655
2656 2011-01-17  Pavel Podivilov  <podivilov@chromium.org>
2657
2658         Reviewed by Yury Semikhatsky.
2659
2660         Web Inspector: add source column field to debugger call frames.
2661         https://bugs.webkit.org/show_bug.cgi?id=52443
2662
2663         * bindings/js/JavaScriptCallFrame.cpp:
2664         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
2665         * bindings/js/JavaScriptCallFrame.h:
2666         (WebCore::JavaScriptCallFrame::create):
2667         (WebCore::JavaScriptCallFrame::line):
2668         (WebCore::JavaScriptCallFrame::column):
2669         (WebCore::JavaScriptCallFrame::update):
2670         * bindings/js/ScriptDebugServer.cpp:
2671         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
2672         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
2673         (WebCore::ScriptDebugServer::callEvent):
2674         (WebCore::ScriptDebugServer::atStatement):
2675         (WebCore::ScriptDebugServer::returnEvent):
2676         (WebCore::ScriptDebugServer::exception):
2677         (WebCore::ScriptDebugServer::willExecuteProgram):
2678         (WebCore::ScriptDebugServer::didExecuteProgram):
2679         (WebCore::ScriptDebugServer::didReachBreakpoint):
2680         * bindings/js/ScriptDebugServer.h:
2681         * bindings/v8/DebuggerScript.js:
2682         ():
2683         * bindings/v8/JavaScriptCallFrame.cpp:
2684         (WebCore::JavaScriptCallFrame::column):
2685         * bindings/v8/JavaScriptCallFrame.h:
2686         * inspector/InjectedScriptSource.js:
2687         ():
2688         * inspector/JavaScriptCallFrame.idl:
2689
2690 2011-01-18  Antti Koivisto  <antti@apple.com>
2691
2692         Reviewed by Dave Hyatt.
2693
2694         https://bugs.webkit.org/show_bug.cgi?id=52370
2695         <rdar://problem/8856808>
2696         Style sharing optimization no longer works on major web sites
2697         
2698         The code in CSSStyleSelector::locateSharedStyle() that tries to share style information between element has been defeated 
2699         by widespread use of certain CSS selectors (:first-child pseudo class and similar). The current implementation disables
2700         the sharing optimization for the whole page if one of these constructs is seen in any style sheet used by the page.  
2701         
2702         This patch gets the style sharing back to 25-40% range on most web sites.
2703
2704         * css/CSSMutableStyleDeclaration.h:
2705         (WebCore::CSSMutableStyleDeclaration::propertiesEqual):
2706             
2707             Needed to improve equality checking in NamedNodeMap::mappedMapsEquivalent.
2708         
2709         * css/CSSSelector.h:
2710         (WebCore::CSSSelector::isSiblingSelector):
2711         
2712             Test for selectors that are affected by the sibling elements.
2713         
2714         * css/CSSStyleSelector.cpp:
2715         (WebCore::elementCanUseSimpleDefaultStyle):
2716         (WebCore::collectSiblingRulesInDefaultStyle):
2717         (WebCore::assertNoSiblingRulesInDefaultStyle):
2718             
2719             Extract sibling rules from the MathML default stylesheet. 
2720             Assert that no other default stylesheet has them.
2721             
2722         (WebCore::CSSStyleSelector::CSSStyleSelector):
2723         (WebCore::CSSStyleSelector::locateCousinList):
2724         (WebCore::CSSStyleSelector::matchesSiblingRules):
2725         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2726         (WebCore::CSSStyleSelector::locateSharedStyle):
2727         (WebCore::CSSStyleSelector::styleForElement):
2728         (WebCore::collectIdsAndSiblingRulesFromList):
2729         (WebCore::CSSRuleSet::collectIdsAndSiblingRules):
2730
2731             Track sibling rules and ids used in the stylesheets to allow much more fine-grained rejection of cases
2732             where style sharing can't be used.
2733
2734         * css/CSSStyleSelector.h:
2735         * dom/NamedNodeMap.cpp:
2736         (WebCore::NamedNodeMap::mappedMapsEquivalent):
2737             
2738             Check also for CSSValue mutation from DOM. 
2739             
2740         * mathml/MathMLMathElement.cpp:
2741         (WebCore::MathMLMathElement::insertedIntoDocument):
2742         * mathml/MathMLMathElement.h:
2743         
2744             MathML default style sheet has sibling rules which don't get noticed by the normal document
2745             stylesheet parsing.
2746         
2747         * rendering/style/RenderStyle.h:
2748         (WebCore::InheritedFlags::setFirstChildState):
2749         (WebCore::InheritedFlags::setLastChildState):
2750         (WebCore::InheritedFlags::setChildIndex):
2751         
2752             These all make style non-shareable (unique).
2753
2754 2011-01-18  MORITA Hajime  <morrita@google.com>
2755
2756         Unreviewed crash fix on release builds.
2757
2758         * rendering/RenderBoxModelObject.cpp:
2759         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2760
2761 2011-01-18  Pavel Podivilov  <podivilov@chromium.org>
2762
2763         Unreviewed, update localizedStrings.js.
2764
2765         * English.lproj/localizedStrings.js:
2766
2767 2011-01-11  Pavel Podivilov  <podivilov@chromium.org>
2768
2769         Reviewed by Pavel Feldman.
2770
2771         Web Inspector: implement script beautifier prototype.
2772         https://bugs.webkit.org/show_bug.cgi?id=51588
2773
2774         * WebCore.gypi:
2775         * WebCore.vcproj/WebCore.vcproj:
2776         * inspector/front-end/ScriptFormatter.js: Added.
2777         (WebInspector.ScriptFormatter): Implements JavaScript source beautification and conversion between original and
2778         formatted line numbers
2779         (WebInspector.ScriptFormatter.findLineEndings):
2780         (WebInspector.ScriptFormatter.locationToPosition):
2781         (WebInspector.ScriptFormatter.positionToLocation):
2782         (WebInspector.ScriptFormatter.upperBound):
2783         (WebInspector.ScriptFormatter.prototype.format):
2784         (WebInspector.ScriptFormatter.prototype.originalLineNumberToFormattedLineNumber):
2785         (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalLineNumber):
2786         (WebInspector.ScriptFormatter.prototype.originalPositionToFormattedLineNumber):
2787         (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalPosition):
2788         (WebInspector.ScriptFormatter.prototype._convertPosition):
2789         * inspector/front-end/ScriptsPanel.js:
2790         (WebInspector.ScriptsPanel):
2791         (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
2792         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2793         (WebInspector.ScriptsPanel.prototype._formatScript):
2794         * inspector/front-end/SourceFrame.js: Convert original line numbers to UI line numbers and vice versa
2795         * inspector/front-end/WebKit.qrc:
2796         * inspector/front-end/inspector.html:
2797
2798 2011-01-18  Philippe Normand  <pnormand@igalia.com>
2799
2800         Unreviewed, GTK build fix as follow-up of r76004.
2801
2802         * GNUmakefile.am: Include RoundedIntRect files in the build
2803
2804 2011-01-18  Philippe Normand  <pnormand@igalia.com>
2805
2806         Unreviewed, rolling out r76002.
2807         http://trac.webkit.org/changeset/76002
2808         https://bugs.webkit.org/show_bug.cgi?id=49790
2809
2810         breaks a bunch of fast/forms tests on mac and GTK
2811
2812         * html/HTMLOptionElement.cpp:
2813         (WebCore::HTMLOptionElement::setRenderStyle):
2814
2815 2011-01-18 MORITA Hajime <morrita@google.com>
2816
2817         Unreviewed windows build fix.
2818
2819         * WebCore.vcproj/WebCore.vcproj:
2820
2821 2011-01-17  MORITA Hajime  <morrita@google.com>
2822
2823         Reviewed by Simon Fraser.
2824
2825         Refactoring: Extract RoundedIntRect class
2826         https://bugs.webkit.org/show_bug.cgi?id=51664
2827
2828         RoundedIntRect is a pair of rect and four IntSize objects which represent
2829         corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
2830         Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
2831         return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
2832         and other functions accept RoundedIntRect as an argument.
2833
2834         No new tests. No behavioral change.
2835
2836         * Android.mk:
2837         * CMakeLists.txt:
2838         * WebCore.gypi:
2839         * WebCore.pro:
2840         * WebCore.xcodeproj/project.pbxproj:
2841         * platform/graphics/GraphicsContext.cpp:
2842         (WebCore::GraphicsContext::addRoundedRectClip):
2843         (WebCore::GraphicsContext::clipOutRoundedRect):
2844         (WebCore::GraphicsContext::fillRoundedRect):
2845         * platform/graphics/GraphicsContext.h:
2846         * platform/graphics/RoundedIntRect.cpp: Added.
2847         (WebCore::RoundedIntRect::Radii::isZero):
2848         (WebCore::RoundedIntRect::Radii::scale):
2849         (WebCore::RoundedIntRect::Radii::expand):
2850         (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
2851         (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
2852         (WebCore::RoundedIntRect::RoundedIntRect):
2853         (WebCore::RoundedIntRect::includeLogicalEdges):
2854         (WebCore::RoundedIntRect::excludeLogicalEdges):
2855         * platform/graphics/RoundedIntRect.h: Added.
2856         (WebCore::RoundedIntRect::Radii::Radii):
2857         (WebCore::RoundedIntRect::Radii::setTopLeft):
2858         (WebCore::RoundedIntRect::Radii::setTopRight):
2859         (WebCore::RoundedIntRect::Radii::setBottomLeft):
2860         (WebCore::RoundedIntRect::Radii::setBottomRight):
2861         (WebCore::RoundedIntRect::Radii::topLeft):
2862         (WebCore::RoundedIntRect::Radii::topRight):
2863         (WebCore::RoundedIntRect::Radii::bottomLeft):
2864         (WebCore::RoundedIntRect::Radii::bottomRight):
2865         (WebCore::RoundedIntRect::Radii::expand):
2866         (WebCore::RoundedIntRect::Radii::shrink):
2867         (WebCore::RoundedIntRect::location):
2868         (WebCore::RoundedIntRect::size):
2869         (WebCore::RoundedIntRect::x):
2870         (WebCore::RoundedIntRect::y):
2871         (WebCore::RoundedIntRect::width):
2872         (WebCore::RoundedIntRect::height):
2873         (WebCore::RoundedIntRect::right):
2874         (WebCore::RoundedIntRect::bottom):
2875         (WebCore::RoundedIntRect::rect):
2876         (WebCore::RoundedIntRect::radii):
2877         (WebCore::RoundedIntRect::isRounded):
2878         (WebCore::RoundedIntRect::isEmpty):
2879         (WebCore::RoundedIntRect::setRect):
2880         (WebCore::RoundedIntRect::setRadii):
2881         (WebCore::RoundedIntRect::move):
2882         (WebCore::RoundedIntRect::inflate):
2883         (WebCore::RoundedIntRect::inflateWithRadii):
2884         (WebCore::RoundedIntRect::expandRadii):
2885         (WebCore::RoundedIntRect::shrinkRadii):
2886         * rendering/RenderBox.cpp:
2887         (WebCore::RenderBox::pushContentsClip):
2888         * rendering/RenderBoxModelObject.cpp:
2889         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2890         (WebCore::RenderBoxModelObject::paintBorder):
2891         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
2892         (WebCore::RenderBoxModelObject::paintBoxShadow):
2893         * rendering/RenderBoxModelObject.h:
2894         * rendering/RenderObject.cpp:
2895         (WebCore::RenderObject::drawBoxSideFromPath):
2896         * rendering/RenderReplaced.cpp:
2897         (WebCore::RenderReplaced::paint):
2898         * rendering/RenderThemeChromiumWin.cpp:
2899         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2900         * rendering/RenderThemeMac.mm:
2901         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2902         (WebCore::RenderThemeMac::paintSliderTrack):
2903         * rendering/RenderThemeSafari.cpp:
2904         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2905         (WebCore::RenderThemeSafari::paintSliderTrack):
2906         * rendering/RenderThemeWinCE.cpp:
2907         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
2908         * rendering/RenderWidget.cpp:
2909         (WebCore::RenderWidget::paint):
2910         * rendering/style/BorderData.h:
2911         * rendering/style/RenderStyle.cpp:
2912         (WebCore::calcRadiiFor):
2913         (WebCore::calcConstraintScaleFor):
2914         (WebCore::RenderStyle::getRoundedBorderFor):
2915         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
2916         * rendering/style/RenderStyle.h:
2917         (WebCore::InheritedFlags::setBorderRadius):
2918
2919 2011-01-17  Rob Buis  <rwlbuis@gmail.com>
2920
2921         Reviewed by Kent Tamura.
2922
2923         Color changes to option elements in a select multiple aren't drawn immediately
2924         https://bugs.webkit.org/show_bug.cgi?id=49790
2925
2926         Redirect style changes on <option> element to the owner <select> element.
2927
2928         Tests: fast/forms/select-option-background-color-change.html
2929                fast/forms/select-option-color-change.html
2930                fast/forms/select-option-visibility-change.html
2931
2932         * html/HTMLOptionElement.cpp:
2933         (WebCore::HTMLOptionElement::setRenderStyle):
2934
2935 2011-01-17  MORITA Hajime  <morrita@google.com>
2936
2937         Unreviewed, rolling out r75995.
2938         http://trac.webkit.org/changeset/75995
2939         https://bugs.webkit.org/show_bug.cgi?id=51914
2940
2941         Causes assertion failures.
2942
2943         * dom/Element.cpp:
2944         (WebCore::Element::shadowRoot):
2945         (WebCore::Element::setShadowRoot):
2946         (WebCore::Element::removeShadowRoot):
2947         * dom/ElementRareData.h:
2948         (WebCore::ElementRareData::ElementRareData):
2949
2950 2011-01-17  MORITA Hajime  <morrita@google.com>
2951
2952         Unreviewed, rolling out r75999.
2953         http://trac.webkit.org/changeset/75999
2954
2955         * dom/Element.cpp:
2956         (WebCore::Element::removeShadowRoot):
2957
2958 2011-01-17 MORITA Hajime  <morrita@google.com>
2959
2960         Unreviewed crash fix, which introduced at r75995
2961
2962         * dom/Element.cpp:
2963         (WebCore::Element::removeShadowRoot):
2964
2965 2011-01-17  MORITA Hajime  <morrita@google.com>
2966
2967         Reviewed by Dimitri Glazkov.
2968
2969         ElementRareData::m_shadowRoot should not be RefPtr.
2970         https://bugs.webkit.org/show_bug.cgi?id=51914
2971
2972         This change makes m_shadowRoot a raw pointer, as Node::m_parent is.
2973         This change is safe because shadow host pointer is stored as TreeShared::m_parent
2974         which prevents deletion unless set to null.
2975         
2976         No test, no behavioral change.
2977
2978         * dom/Element.cpp:
2979         (WebCore::Element::shadowRoot):
2980         (WebCore::Element::setShadowRoot):
2981         (WebCore::Element::removeShadowRoot):
2982         * dom/ElementRareData.h:
2983         (WebCore::ElementRareData::ElementRareData):
2984
2985 2011-01-17  Maciej Stachowiak  <mjs@apple.com>
2986
2987         Reviewed by Dan Bernstein.
2988
2989         Some WebKit2 layout tests crash due to focus being on a frame in the page cache
2990         https://bugs.webkit.org/show_bug.cgi?id=52607
2991
2992         No new tests. Existing tests crash in WebKit2 without this fix.
2993         
2994         I suspect there are other consequences besides the WebKit2 crash, but I
2995         was unable to identify any for certain.
2996
2997         * history/CachedFrame.cpp:
2998         (WebCore::CachedFrame::CachedFrame): If a frame still has focus when its page
2999         goes in the page cache, reset focus to the main frame.
3000
3001 2011-01-17  Adam Roben  <aroben@apple.com>
3002
3003         Simplify WKCACFLayerRenderer's API
3004
3005         createRenderer/destroyRenderer are now hidden behind setHostWindow.
3006         WKCACFLayerRendererClient::animationsStarted has been removed, as it
3007         was never called. (The work it was supposed to do was already being
3008         accomplished by WKCACFLayerRenderer::render telling each layer that
3009         animations are starting.)
3010
3011         Fixes <http://webkit.org/b/52587> WKCACFLayerRenderer is hard to use
3012
3013         Reviewed by Chris Marrin.
3014
3015         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
3016         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Moved the
3017         call to setHostWindow here from the WM_CREATE handler. The WM_CREATE
3018         handler was causing the Direct3D device to be created, but MSDN says
3019         you shouldn't create a device while handling WM_CREATE. Removed
3020         no-longer-needed call to createRenderer (setHostWindow does this now)
3021         and the never-needed call to setNeedsDisplay (we never draw into the
3022         root layer; this was just creating an unnecessary backing store the
3023         size of the screen!).
3024         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Moved WM_CREATE
3025         code, as described above. Removed call to destroyRenderer when handling
3026         WM_DESTROY; setHostWindow does this now. Fixed up our WM_PAINT handler
3027         to do a synchronous paint and to clear our dirty region, while I was in
3028         here.
3029
3030         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3031         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Changed to call
3032         setHostWindow instead of destroyRenderer; the former calls the latter
3033         if needed.
3034         (WebCore::WKCACFLayerRenderer::setHostWindow): Moved here from the
3035         header file. Destroys our old renderer (i.e., IDirect3DDevice9) if
3036         we're losing our window, or creates a renderer if we're gaining a
3037         window.
3038         (WebCore::WKCACFLayerRenderer::createRenderer): Updated for WKSI function rename.
3039         (WebCore::WKCACFLayerRenderer::destroyRenderer): Changed to clear the
3040         D3D device from our context before releasing the device.
3041
3042         * platform/graphics/win/WKCACFLayerRenderer.h: Removed
3043         WKCACFLayerRendererClient::animationsStarted. Removed setNeedsDisplay.
3044         Make createRenderer, destroyRenderer, and renderSoon private.
3045
3046 2011-01-17  Adam Roben  <aroben@apple.com>
3047
3048         Remove special-cased support for providing content for the root layer
3049
3050         Clients will just have to provide content through the normal
3051         GraphicsLayer channels now!
3052
3053         Support for <http://webkit.org/b/52582> WebView should paint directly
3054         into a GraphicsLayer when in accelerated compositing mode
3055
3056         Reviewed by Simon Fraser and Chris Marrin.
3057
3058         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3059         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Removed
3060         initialization of m_backingStoreDirty, which has itself been removed.
3061         (WebCore::WKCACFLayerRenderer::setNeedsDisplay): Moved code to schedule
3062         a sync from here to syncCompositingStateSoon. We only need to call
3063         renderSoon if we don't call syncCompositingStateSoon; the latter
3064         function calls the former.
3065         (WebCore::WKCACFLayerRenderer::paint): Removed code to handle
3066         m_backingStoreDirty. We don't want to know anything about clients'
3067         backing stores.
3068         (WebCore::WKCACFLayerRenderer::syncCompositingStateSoon): Added. Code
3069         came from setNeedsDisplay.
3070
3071         * platform/graphics/win/WKCACFLayerRenderer.h:
3072         Removed setRootContents[AndDisplay], setBackingStoreDirty, and
3073         m_backingStoreDirty. Made paint() public so that clients can force a
3074         synchronous render (e.g., when handling WM_PAINT).
3075
3076 2011-01-17  Adam Roben  <aroben@apple.com>
3077
3078         Remove contexts from WKCACFContextFlusher before destroying them
3079
3080         We aren't really using WKCACFContextFlusher for anything useful at the
3081         moment, but that will probably change in the near future.
3082
3083         I couldn't come up with a way to test this because it isn't possible to
3084         resize a window in DumpRenderTree.
3085
3086         Fixes <http://webkit.org/b/52573> REGRESSION (r75262): Crash beneath
3087         WKCACFContextFlusher::flushAllContexts when resizing window on page
3088         that uses accelerated compositing
3089
3090         Reviewed by Simon Fraser.
3091
3092         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3093         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Remove our
3094         context from WKCACFContextFlusher. (This code was erroneously removed
3095         from WKCACFLayerRenderer::destroyRenderer in r75262. This is a more
3096         sensible place for it.)
3097
3098 2011-01-17  Adam Roben  <aroben@apple.com>
3099
3100         Don't access the CACFLayerRef's sublayers directly from PlatformCALayer
3101
3102         There might be a secret extra sublayer (the tile parent layer) that
3103         PlatformCALayer doesn't know about. When PlatformCALayer would
3104         encounter this, it would try to use the tile parent layer's
3105         PlatformCALayer wrapper, which was null, and then would crash. We now
3106         ask PlatformCALayerWinInternal for the sublayer list, since that class
3107         knows about the tile parent layer and can exclude it from the sublayer
3108         list.
3109
3110         Covered by compositing/tiling/huge-layer-resize.html.
3111
3112         Fixes <http://webkit.org/b/52597> Crash beneath
3113         PlatformCALayer::adoptSublayers when switching out of tiling mode
3114         (null-dereference of a PlatformCALayer)
3115
3116         Reviewed by Darin Adler and Chris Marrin.
3117
3118         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3119         (PlatformCALayer::adoptSublayers):
3120         (printLayer):
3121         Changed to use PlatformCALayerWinInternal::getSublayers.
3122
3123         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
3124         (PlatformCALayerWinInternal::getSublayers): Added. Retrieves the list
3125         of PlatformCALayers that represent our sublayers. Significantly, this
3126         code knows about the tile parent layer and can thus exclude it.
3127
3128         * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added
3129         getSublayers.
3130
3131 2011-01-17  Naoki Takano  <takano.naoki@gmail.com>
3132
3133         Reviewed by Kent Tamura.
3134
3135         [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.
3136         https://bugs.webkit.org/show_bug.cgi?id=51382
3137         http://crbug.com/60427
3138
3139         Calculate correct location of popup window whenever the items in the window change.
3140
3141         No new tests, because this fix is for Chromium project and hard to test only in WebKit project
3142
3143         * platform/chromium/PopupMenuChromium.cpp:
3144         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): New Function to layout and calculate popup widget rect.
3145         (WebCore::PopupContainer::showPopup): Move widgetRect calculation logic to calculateWidgetRect().
3146         (WebCore::PopupContainer::refresh): Add parameter focusRect to take the location and the size of focus text input field to calculate correct popup window location.
3147         * platform/chromium/PopupMenuChromium.h: Append new input parameter for refresh().
3148
3149 2011-01-17  Mark Rowe  <mrowe@apple.com>
3150
3151         Fix the 32-bit build.
3152
3153         * WebCore.exp.in:
3154
3155 2011-01-17  Dan Bernstein  <mitz@apple.com>
3156
3157         Reviewed by Darin Adler.
3158
3159         Use of invalid hash map key in CSSFontFaceSource::getFontData() with 0-sized remote font
3160         https://bugs.webkit.org/show_bug.cgi?id=52598
3161
3162         Test: fast/css/font-face-zero-hash-key.html
3163
3164         * css/CSSFontFaceSource.cpp:
3165         (WebCore::CSSFontFaceSource::getFontData): Add 1 to the font size to avoid a 0 hash key.
3166         * css/CSSSegmentedFontFace.cpp:
3167         (WebCore::CSSSegmentedFontFace::getFontData): Ditto.
3168
3169 2011-01-17  David Kilzer  <ddkilzer@apple.com>
3170
3171         <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project
3172
3173         Reviewed by Dan Bernstein.
3174
3175         This fixes two issues:
3176
3177         Add missing DOMDocumentFragmentPrivate.h and
3178         DOMDocumentPrivate.h files to the project.  These files were
3179         never added to the the project although their *Internal.h
3180         counterparts were added in r16548 and r17390.
3181
3182         Add missing DOMDocumentFragmentInternal.h to the Headers
3183         section.  It was moved from Headers to "Copy Generated Headers"
3184         in r31045, but it should have an entry in both sections.
3185
3186         * WebCore.xcodeproj/project.pbxproj:
3187
3188 2011-01-17  Helder Correia  <helder@sencha.com>
3189
3190         Reviewed by Andreas Kling.
3191
3192         [Qt] Incorrect shadow alpha with pattern fillStyle
3193         https://bugs.webkit.org/show_bug.cgi?id=52559
3194
3195         The shadow color opacity needs to be set on the shadow painter.
3196         This is related to bug 52556.
3197
3198         Test: fast/canvas/canvas-fillPath-pattern-shadow.html
3199
3200         * platform/graphics/qt/GraphicsContextQt.cpp:
3201         (WebCore::GraphicsContext::fillPath):
3202
3203 2011-01-17  Martin Robinson  <mrobinson@igalia.com>
3204
3205         Reviewed by Andreas Kling.
3206
3207         [GTK] Port a crash fix from libsoup upstream to the libsoup cache code
3208         https://bugs.webkit.org/show_bug.cgi?id=52586
3209
3210         No new tests. This is just a merge from upstream.
3211
3212         * platform/network/soup/cache/soup-http-input-stream.c:
3213         (webkit_soup_http_input_stream_got_chunk): Properly handle unsigned numbers.
3214
3215 2011-01-17  Tony Gentilcore  <tonyg@chromium.org>
3216
3217         Reviewed by Alexey Proskuryakov.
3218
3219         Fix some headers with missing or misspelled #ifndef guards
3220         https://bugs.webkit.org/show_bug.cgi?id=52545
3221
3222         No new tests because no new functionality.
3223
3224         * ForwardingHeaders/runtime/InitializeThreading.h:
3225         * editing/SmartReplace.h:
3226         * loader/CrossOriginAccessControl.h:
3227         * loader/NetscapePlugInStreamLoader.h:
3228         * platform/chromium/ClipboardUtilitiesChromium.h:
3229         * platform/graphics/cairo/DrawErrorUnderline.h:
3230         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3231         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3232         * platform/graphics/cg/PDFDocumentImage.h:
3233         * platform/win/WebCoreTextRenderer.h:
3234
3235 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
3236
3237         Not reviewed: follow-up fix for r52574: do not reuse clear() for navigation.
3238
3239         * inspector/front-end/NetworkPanel.js:
3240         (WebInspector.NetworkPanel.prototype.clear):
3241         (WebInspector.NetworkPanel.prototype.mainResourceChanged):
3242
3243 2011-01-17  Sergio Villar Senin  <svillar@igalia.com>
3244
3245         Reviewed by Martin Robinson.
3246
3247         [Gtk] No need to content sniff 304 Not Modified responses
3248         https://bugs.webkit.org/show_bug.cgi?id=52570
3249
3250         Makes no sense to wait for the outcome of content sniffing when WebCore
3251         is validating resources. If we get a 304 Not Modified it means that we can
3252         safely use the cached version of the resource we're asking for.
3253
3254         No new tests because it does not change functionality, it just
3255         calls didReceiveResponse sooner for 304 Not Modified responses.
3256
3257         * platform/network/soup/ResourceHandleSoup.cpp:
3258         (WebCore::gotHeadersCallback):
3259
3260 2011-01-17  Jessie Berlin  <jberlin@apple.com>
3261
3262         Reviewed by Anders Carlsson.
3263
3264         REGRESSION: Assertion failure in FrameLoader::continueLoadAfterWillSubmitForm() when
3265         navigating back to an unreachable URL
3266         https://bugs.webkit.org/show_bug.cgi?id=52388
3267
3268         Test: http/tests/navigation/go-back-to-error-page.html
3269
3270         * history/PageCache.cpp:
3271         (WebCore::PageCache::canCachePageContainingThisFrame):
3272         Do not cache any error pages (which we can recognize as having substitute data and/or an
3273         unreachableURL).
3274
3275 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
3276
3277         Not reviewed: fixing typo in r75952.
3278
3279         * inspector/front-end/NetworkPanel.js:
3280         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
3281
3282 2011-01-17  Enrica Casucci  <enrica@apple.com>
3283
3284         Reviewed by Alexey Proskuryakov.
3285
3286         Drag and drop support: refactoring of image from link and image from selection
3287         https://bugs.webkit.org/show_bug.cgi?id=52496
3288
3289         This work cleans up the Mac code and makes it more similar to the Windows implementation,
3290         avoiding the use of an NSView when the FrameView can be used.
3291         The refactoring is a necessary step towards the complete support of drag and drop
3292         in WebKit2.
3293         
3294         * page/mac/FrameMac.mm:
3295         (WebCore::Frame::imageFromRect): Modified to use FrameView instead of NSView
3296         to generate the image for drag.
3297
3298 2011-01-17  Dan Bernstein  <mitz@apple.com>
3299
3300         Rubber-stamped by Mark Rowe.
3301
3302         Update xcodeproj svn:ignore to include xcuserdata.
3303
3304         * WebCore.xcodeproj: Modified property svn:ignore.
3305         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
3306
3307 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
3308
3309         Leopard build fix.
3310
3311         * page/PrintContext.cpp: GCC complained about shortening a double value to float.
3312
3313 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
3314
3315         Reviewed by Dan Bernstein.
3316
3317         https://bugs.webkit.org/show_bug.cgi?id=52495
3318
3319         No change in behavior, so no tests.
3320
3321         * WebCore.exp.in: Export additional methods, as I'm going to use more code from PrintContext.
3322
3323         * page/PrintContext.cpp:
3324         (WebCore::PrintContext::~PrintContext): No need to clear m_pageRects, the object is being
3325         destroyed already.
3326         (WebCore::PrintContext::pageCount): Changed page count from int to size_t.
3327         (WebCore::PrintContext::pageRect): Ditto.
3328         (WebCore::PrintContext::computePageRects): Pass allowHorizontalTiling as an argument.
3329         PrintContext already has code to calculate scale factor, so it makes sense to make methods
3330         that contain it universal (allowHorizontalTiling is always true for Safari).
3331         Round page height to an integer, because Mac code does that, and because page height is
3332         treated as integer almost everywhere else in code.
3333         (WebCore::PrintContext::begin): Allow calling this function multiple times. There is no need
3334         to return to screen mode if e.g. "print backgounds" option changes.
3335         (WebCore::PrintContext::computeAutomaticScaleFactor): Expose scale factor computation, so
3336         that clients don't have to copy it.
3337         (WebCore::PrintContext::spoolRect): Add a way to spool a precomputed rect - handy if a request
3338         comes from code that doesn't have page number.
3339         (WebCore::PrintContext::pageNumberForElement): Page number int -> size_t.
3340
3341         * page/PrintContext.h: Added comments and FIXMEs. PrintContext needs cleanup, but that
3342         depends on deciding how it really needs to work (e.g. whether computePageRects() should
3343         cause relayout).
3344
3345 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
3346
3347         Reviewed by Yury Semikhatsky.
3348
3349         Web Inspector: unify image data source assignment, add image url
3350         to the image view properties list.
3351         https://bugs.webkit.org/show_bug.cgi?id=52584
3352
3353         * English.lproj/localizedStrings.js:
3354         * inspector/front-end/ImageView.js:
3355         (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
3356         (WebInspector.ImageView.prototype._createContentIfNeeded):
3357         * inspector/front-end/NetworkPanel.js:
3358         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
3359         * inspector/front-end/Resource.js:
3360         (WebInspector.Resource.prototype.populateImageSource):
3361         (WebInspector.Resource.prototype._contentURL):
3362         * inspector/front-end/ResourcesPanel.js:
3363         (WebInspector.FrameResourceTreeElement.prototype.onattach):
3364
3365 2011-01-17  Andrey Kosyakov  <caseq@chromium.org>
3366
3367         Reviewed by Pavel Feldman.
3368
3369         Web Inspector: [Extensions API] webInspector.resources.onFinished is not fired for redirected resources
3370         Make resource start/finish hanlding more consistent.
3371         https://bugs.webkit.org/show_bug.cgi?id=52452
3372
3373         * inspector/front-end/AuditLauncherView.js: Ignore WebSocket resources when displaying progress indicator
3374         (WebInspector.AuditLauncherView.prototype._resetResourceCount):
3375         (WebInspector.AuditLauncherView.prototype.resourceStarted):
3376         (WebInspector.AuditLauncherView.prototype.resourceFinished):
3377         * inspector/front-end/NetworkManager.js:
3378         (WebInspector.NetworkManager): Factor out resource start/finish logic to _startResource()/_finishResource()
3379         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
3380         (WebInspector.NetworkManager.prototype.willSendRequest):
3381         (WebInspector.NetworkManager.prototype.markResourceAsCached):
3382         (WebInspector.NetworkManager.prototype.didReceiveResponse):
3383         (WebInspector.NetworkManager.prototype.didReceiveContentLength):
3384         (WebInspector.NetworkManager.prototype.didFinishLoading):
3385         (WebInspector.NetworkManager.prototype.didFailLoading):
3386         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
3387         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
3388         (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
3389         (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
3390         (WebInspector.NetworkManager.prototype.didCloseWebSocket):
3391         (WebInspector.NetworkManager.prototype._appendRedirect):
3392         (WebInspector.NetworkManager.prototype._startResource):
3393         (WebInspector.NetworkManager.prototype._finishResource):
3394
3395 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
3396
3397         Reviewed by Yury Semikhatsky.
3398
3399         Web Inspector: restore dom and network state upon frontend reuse.
3400         https://bugs.webkit.org/show_bug.cgi?id=52574
3401
3402         * inspector/Inspector.idl:
3403         * inspector/InspectorController.cpp:
3404         (WebCore::InspectorController::restoreInspectorStateFromCookie):
3405         (WebCore::InspectorController::populateScriptObjects):
3406         (WebCore::InspectorController::pushDataCollectedOffline):
3407         (WebCore::InspectorController::didCommitLoad):
3408         * inspector/InspectorController.h:
3409         * inspector/front-end/NetworkManager.js:
3410         (WebInspector.NetworkManager.prototype.reset):
3411         * inspector/front-end/NetworkPanel.js:
3412         (WebInspector.NetworkPanel.prototype.clear):
3413         (WebInspector.NetworkPanel.prototype.mainResourceChanged):
3414         * inspector/front-end/ResourceTreeModel.js:
3415         (WebInspector.ResourceTreeModel):
3416         (WebInspector.ResourceTreeModel.prototype.reloadCachedResources):
3417         * inspector/front-end/ResourcesPanel.js:
3418         (WebInspector.ResourcesPanel.prototype.clear):
3419         * inspector/front-end/inspector.js:
3420         (WebInspector.frontendReused):
3421
3422 2011-01-17  Csaba Osztrogonác  <ossy@webkit.org>
3423
3424         Unreviewed buildfix after r75944.
3425
3426         * WebCore.pro:
3427
3428 2011-01-17  Yi Shen  <yi.4.shen@nokia.com>
3429
3430         Reviewed by Andreas Kling.
3431
3432         [Qt] Extend the Platform Plugin to support full screen video handler
3433         https://bugs.webkit.org/show_bug.cgi?id=51249
3434
3435         Make MediaPlayerPrivateQt support a fullscreen player.
3436
3437         No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
3438         However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
3439         So, still skip it for Qt.
3440
3441         * WebCore.pro:
3442         * features.pri:
3443         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3444         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
3445         (WebCore::MediaPlayerPrivateQt::removeVideoItem):
3446         (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
3447         * platform/graphics/qt/MediaPlayerPrivateQt.h:
3448         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
3449         (WebCore::MediaPlayerPrivateQt::mediaPlayer):
3450
3451 2011-01-17  Anthony Ricaud  <rik@webkit.org>
3452
3453         Reviewed by Kent Tamura.
3454