summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/page/DOMWindow.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-13 16:23:25 +0100
committerBen Murdoch <benm@google.com>2011-05-16 11:35:02 +0100
commit65f03d4f644ce73618e5f4f50dd694b26f55ae12 (patch)
treef478babb801e720de7bfaee23443ffe029f58731 /Source/WebCore/page/DOMWindow.cpp
parent47de4a2fb7262c7ebdb9cd133ad2c54c187454d0 (diff)
downloadexternal_webkit-65f03d4f644ce73618e5f4f50dd694b26f55ae12.zip
external_webkit-65f03d4f644ce73618e5f4f50dd694b26f55ae12.tar.gz
external_webkit-65f03d4f644ce73618e5f4f50dd694b26f55ae12.tar.bz2
Merge WebKit at r75993: Initial merge by git.
Change-Id: I602bbdc3974787a3b0450456a30a7868286921c3
Diffstat (limited to 'Source/WebCore/page/DOMWindow.cpp')
-rw-r--r--Source/WebCore/page/DOMWindow.cpp44
1 files changed, 19 insertions, 25 deletions
diff --git a/Source/WebCore/page/DOMWindow.cpp b/Source/WebCore/page/DOMWindow.cpp
index be6c179..99c8fcd 100644
--- a/Source/WebCore/page/DOMWindow.cpp
+++ b/Source/WebCore/page/DOMWindow.cpp
@@ -43,6 +43,7 @@
#include "DOMStringList.h"
#include "DOMTimer.h"
#include "DOMTokenList.h"
+#include "DOMURL.h"
#include "Database.h"
#include "DatabaseCallback.h"
#include "DeviceMotionController.h"
@@ -64,7 +65,6 @@
#include "History.h"
#include "IDBFactory.h"
#include "IDBFactoryBackendInterface.h"
-#include "InspectorController.h"
#include "InspectorInstrumentation.h"
#include "KURL.h"
#include "Location.h"
@@ -627,9 +627,7 @@ Storage* DOMWindow::sessionStorage(ExceptionCode& ec) const
return 0;
RefPtr<StorageArea> storageArea = page->sessionStorage()->storageArea(document->securityOrigin());
-#if ENABLE(INSPECTOR)
- page->inspectorController()->didUseDOMStorage(storageArea.get(), false, m_frame);
-#endif
+ InspectorInstrumentation::didUseDOMStorage(page, storageArea.get(), false, m_frame);
m_sessionStorage = Storage::create(m_frame, storageArea.release());
return m_sessionStorage.get();
@@ -657,9 +655,7 @@ Storage* DOMWindow::localStorage(ExceptionCode& ec) const
return 0;
RefPtr<StorageArea> storageArea = page->group().localStorage()->storageArea(document->securityOrigin());
-#if ENABLE(INSPECTOR)
- page->inspectorController()->didUseDOMStorage(storageArea.get(), true, m_frame);
-#endif
+ InspectorInstrumentation::didUseDOMStorage(page, storageArea.get(), true, m_frame);
m_localStorage = Storage::create(m_frame, storageArea.release());
return m_localStorage.get();
@@ -1355,7 +1351,7 @@ void DOMWindow::scrollTo(int x, int y) const
m_frame->document()->updateLayoutIgnorePendingStylesheets();
- FrameView* view = m_frame->view();
+ RefPtr<FrameView> view = m_frame->view();
if (!view)
return;
@@ -1542,13 +1538,7 @@ void DOMWindow::dispatchLoadEvent()
ownerElement->dispatchGenericEvent(ownerEvent.release());
}
-#if ENABLE(INSPECTOR)
- if (!frame() || !frame()->page())
- return;
-
- if (InspectorController* controller = frame()->page()->inspectorController())
- controller->mainResourceFiredLoadEvent(frame()->loader()->documentLoader(), url());
-#endif
+ InspectorInstrumentation::mainResourceFiredLoadEvent(frame(), url());
}
bool DOMWindow::dispatchEvent(PassRefPtr<Event> prpEvent, PassRefPtr<EventTarget> prpTarget)
@@ -1622,6 +1612,7 @@ EventTargetData* DOMWindow::ensureEventTargetData()
return &m_eventTargetData;
}
+<<<<<<< HEAD
#if ENABLE(BLOB)
String DOMWindow::createObjectURL(Blob* blob)
{
@@ -1647,6 +1638,8 @@ void DOMWindow::clearDOMStorage()
}
#endif
+=======
+>>>>>>> WebKit.org @ r75993
void DOMWindow::setLocation(const String& urlString, DOMWindow* activeWindow, DOMWindow* firstWindow, SetLocationLocking locking)
{
Frame* activeFrame = activeWindow->frame();
@@ -1725,17 +1718,11 @@ Frame* DOMWindow::createWindow(const String& urlString, const AtomicString& fram
{
Frame* activeFrame = activeWindow->frame();
- // FIXME: It's much better for client API if a new window starts with a URL, here where we
- // know what URL we are going to open. Unfortunately, this code passes the empty string
- // for the URL, but there's a reason for that. Before loading we have to set up the opener,
- // openedByDOM, and dialogArguments values. Also, to decide whether to use the URL we currently
- // do an isInsecureScriptAccess call using the window we create, which can't be done before
- // creating it. We'd have to resolve all those issues to pass the URL instead of an empty string.
-
// For whatever reason, Firefox uses the first frame to determine the outgoingReferrer. We replicate that behavior here.
String referrer = firstFrame->loader()->outgoingReferrer();
- ResourceRequest request(KURL(), referrer);
+ KURL completedURL = urlString.isEmpty() ? KURL(ParsedURLString, "") : firstFrame->document()->completeURL(urlString);
+ ResourceRequest request(completedURL, referrer);
FrameLoader::addHTTPOriginIfNeeded(request, firstFrame->loader()->outgoingOrigin());
FrameLoadRequest frameRequest(activeWindow->securityOrigin(), request, frameName);
@@ -1755,8 +1742,6 @@ Frame* DOMWindow::createWindow(const String& urlString, const AtomicString& fram
if (function)
function(newFrame->domWindow(), functionContext);
- KURL completedURL = urlString.isEmpty() ? KURL(ParsedURLString, "") : firstFrame->document()->completeURL(urlString);
-
if (created)
newFrame->loader()->changeLocation(activeWindow->securityOrigin(), completedURL, referrer, false, false);
else if (!urlString.isEmpty()) {
@@ -1854,4 +1839,13 @@ void DOMWindow::showModalDialog(const String& urlString, const String& dialogFea
dialogFrame->page()->chrome()->runModal();
}
+#if ENABLE(BLOB)
+DOMURL* DOMWindow::webkitURL() const
+{
+ if (!m_domURL)
+ m_domURL = DOMURL::create(this->scriptExecutionContext());
+ return m_domURL.get();
+}
+#endif
+
} // namespace WebCore