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